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. |
ShowAsDropDown |
Show window with dropdown behaviour (e.g. window is closed when it loses focus) and having |
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. |