![]() |
![]() |
|
![]() |
||||||||||
Derive from this class to create an editor window.
Note: This is an editor class. To use it you have to place your script in Assets/Editor inside your project folder. Editor classes are in the UnityEditor namespace so for C# scripts you need to add "using UnityEditor;" at the beginning of the script.
Create your own custom editor window that can float free or be docked as a tab, just like the native windows in the Unity interface.
Editor windows are typically opened using a menu item.
// JavaScript example:
class MyWindow extends EditorWindow {
var myString = "Hello World";
var groupEnabled = false;
var myBool = true;
var myFloat = 1.23;
// Add menu named "My Window" to the Window menu
@MenuItem ("Window/My Window")
static function Init () {
// Get existing open window or if none, make a new one:
var window = ScriptableObject.CreateInstance.<MyWindow>();
}
function OnGUI () {
GUILayout.Label ("Base Settings", EditorStyles.boldLabel);
myString = EditorGUILayout.TextField ("Text Field", myString);
groupEnabled = EditorGUILayout.BeginToggleGroup ("Optional Settings", groupEnabled);
myBool = EditorGUILayout.Toggle ("Toggle", myBool);
myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3);
EditorGUILayout.EndToggleGroup ();
}
}
// C# example:
using UnityEngine;
using UnityEditor;
public class MyWindow : EditorWindow {
string myString = "Hello World";
bool groupEnabled;
bool myBool = true;
float myFloat = 1.23f;
// Add menu named "My Window" to the Window menu
[MenuItem ("Window/My Window")]
static void Init () {
// Get existing open window or if none, make a new one:
MyWindow window = (MyWindow)EditorWindow.GetWindow (typeof (MyWindow));
}
void OnGUI () {
GUILayout.Label ("Base Settings", EditorStyles.boldLabel);
myString = EditorGUILayout.TextField ("Text Field", myString);
groupEnabled = EditorGUILayout.BeginToggleGroup ("Optional Settings", groupEnabled);
myBool = EditorGUILayout.Toggle ("Toggle", myBool);
myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3);
EditorGUILayout.EndToggleGroup ();
}
}
| wantsMouseMove |
Does the GUI in this editor window want MouseMove events? |
| autoRepaintOnSceneChange |
Does the window automatically repaint whenever the scene has changed? |
| minSize |
the minimum size of this window |
| maxSize |
the maximum size of this window |
| title |
The title of this window |
| position |
The position of the window in screen space. |
| BeginWindows |
Mark the beginning area of all popup windows. |
| EndWindows |
Close a window group started with EditorWindow.BeginWindows |
| ShowNotification |
Show a notification message. |
| RemoveNotification |
Stop showing notification message. |
| ShowTab |
|
| Focus |
Moves keyboard focus to this EditorWindow. |
| ShowUtility |
Show the EditorWindow as a floating utility window. |
| ShowPopup |
Used for popup style windows. |
| Show |
Show the EditorWindow. |
| ShowAuxWindow |
Show the editor window in the auxiliary window. |
| Close |
Close the editor window. |
| Repaint |
Make the window repaint. |
| SendEvent |
Sends an Event to a window. |
| OnGUI |
Implement your own editor GUI here. |
| Update |
Called 100 times per second on all visible windows. |
| OnInspectorUpdate |
OnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update |
| OnDestroy |
OnDestroy is called when the EditorWindow is closed. |
| OnSelectionChange |
Called whenever the selection has changed. |
| OnFocus |
Called when the window gets keyboard focus. |
| OnLostFocus |
Called when the window loses keyboard focus. |
| OnHierarchyChange |
Called whenever the scene hierarchy has changed. |
| OnProjectChange |
Called whenever the project has changed. |
| focusedWindow |
The EditorWindow which currently has keyboard focus (Read Only) |
| mouseOverWindow |
The EditorWindow currently under the mouse cursor (Read Only) |
| GetWindow |
Returns the first EditorWindow of type t which is currently on the screen. |
| FocusWindowIfItsOpen |
Focuses the first found EditorWindow of specified type if it is open. |
| GetWindowWithRect |
Returns the first EditorWindow of type t which is currently on the screen. |
| name |
The name of the object. |
| hideFlags |
Should the object be hidden, saved with the scene or modifiable by the user? |
| GetInstanceID |
Returns the instance id of the object. |
| ToString |
Returns the name of the game object. |
| OnEnable |
This function is called when the object is loaded |
| OnDisable |
This function is called when the scriptable object goes out of scope |
| OnDestroy |
This function is called when the scriptable object will be destroyed. |
| CreateInstance |
Creates an instance of a scriptable object with className. |
| operator bool |
Does the object exist? |
| Instantiate |
Clones the object original and returns the clone. |
| Destroy |
Removes a gameobject, component or asset. |
| DestroyImmediate |
Destroys the object obj immediately. It is strongly recommended to use Destroy instead. |
| FindObjectsOfType |
Returns a list of all active loaded objects of Type type. |
| FindObjectOfType |
Returns the first active loaded object of Type type. |
| operator == |
Compares if two objects refer to the same |
| operator != |
Compares if two objects refer to a different object |
| DontDestroyOnLoad |
Makes the object target not be destroyed automatically when loading a new scene. |