# DeviceSimulatorPlugin

> Extend this class to create a Device Simulator plug-in.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.DeviceSimulation](/engine/6000.5/script-reference/unityeditor/devicesimulation.md)
* **Assembly:** UnityEditor.DeviceSimulatorModule

```csharp
public abstract class DeviceSimulatorPlugin
```

## Remarks

Extend this class to create a Device Simulator plug-in. A plug-in lets you control custom simulation parameters from a UI inside the Control Panel of a Device Simulator window. Unity creates, destroys, and serializes a plug-in together with the Device Simulator window the plug-in is active in.

## Properties

| Property                                                                                                                 | Description                                             |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
| [deviceSimulator](/engine/6000.5/script-reference/unityeditor/devicesimulation/devicesimulatorplugin/devicesimulator.md) | Device Simulator in which this plug-in is instantiated. |
| [title](/engine/6000.5/script-reference/unityeditor/devicesimulation/devicesimulatorplugin/title.md)                     | Title for the plug-in UI.                               |

## Methods

| Method                                                                                                         | Description                                                                                                                                                                                                               |
| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [OnCreate](/engine/6000.5/script-reference/unityeditor/devicesimulation/devicesimulatorplugin/oncreate.md)     | Called when Unity creates the Device Simulator window.                                                                                                                                                                    |
| [OnCreateUI](/engine/6000.5/script-reference/unityeditor/devicesimulation/devicesimulatorplugin/oncreateui.md) | The [VisualElement](/engine/6000.5/script-reference/unityengine/uielements/visualelement.md) that this method returns is embedded in the Device Simulator window. If the method returns null, plug-in UI is not embedded. |
| [OnDestroy](/engine/6000.5/script-reference/unityeditor/devicesimulation/devicesimulatorplugin/ondestroy.md)   | Called when Device Simulator window is destroyed.                                                                                                                                                                         |
