Derive from this class to create an editor window.
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.
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)); window.Show(); }
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(); } }
focusedWindow | The EditorWindow which currently has keyboard focus. (Read Only) |
mouseOverWindow | The EditorWindow currently under the mouse cursor. (Read Only) |
autoRepaintOnSceneChange | Does the window automatically repaint whenever the Scene has changed? |
docked | Returns true if EditorWindow is docked. |
hasFocus | Returns true if EditorWindow is focused. |
hasUnsavedChanges | This property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes. |
maximized | Is this window maximized? |
maxSize | The maximum size of this window when it is floating or modal. The maximum size is not used when the window is docked. |
minSize | The minimum size of this window when it is floating or modal. The minimum size is not used when the window is docked. |
position | The desired position of the window in screen space. |
rootVisualElement | Retrieves the root visual element of this window hierarchy. |
saveChangesMessage | The message that displays to the user if they are prompted to save |
titleContent | The GUIContent used for drawing the title of EditorWindows. |
wantsLessLayoutEvents | Specifies whether a layout pass is performed before all user events (for example, EventType.MouseDown or [[EventType, KeyDown]]), or is only performed before repaint events. |
wantsMouseEnterLeaveWindow | Checks whether MouseEnterWindow and MouseLeaveWindow events are received in the GUI in this Editor window. |
wantsMouseMove | Checks whether MouseMove events are received in the GUI in this Editor window. |
BeginWindows | Mark the beginning area of all popup windows. |
Close | Close the editor window. |
DiscardChanges | Discards unsaved changes to the contents of the window. |
EndWindows | Close a window group started with EditorWindow.BeginWindows. |
Focus | Moves keyboard focus to another EditorWindow. |
GetExtraPaneTypes | Gets the extra panes associated with the window. |
RemoveNotification | Stop showing notification message. |
Repaint | Make the window repaint. |
SaveChanges | Performs a save action on the contents of the window. |
SendEvent | Sends an Event to a window. |
Show | Show the EditorWindow window. |
ShowAsDropDown | Shows a window with dropdown behaviour and styling. |
ShowAuxWindow | Show the editor window in the auxiliary window. |
ShowModal | Show modal editor window. |
ShowModalUtility | Show the EditorWindow as a floating modal window. |
ShowNotification | Show a notification message. |
ShowPopup | Shows an Editor window using popup-style framing. |
ShowUtility | Show the EditorWindow as a floating utility window. |
TryGetOverlay | Get an Overlay with matching ID from an EditorWindow canvas. |
OnBackingScaleFactorChanged | Called when the UI scaling for this EditorWindow is changed. |
CreateWindow | Creates an EditorWindow of type T. |
FocusWindowIfItsOpen | Focuses the first found EditorWindow of specified type if it is open. |
GetWindow | Returns the first EditorWindow of type t which is currently on the screen. |
GetWindowWithRect | Returns the first EditorWindow of type t which is currently on the screen. |
HasOpenInstances | Checks if an editor window is open. |
Awake | Called as the new window is opened. |
CreateGUI | CreateGUI is called when the EditorWindow's rootVisualElement is ready to be populated. |
hasUnsavedChanges | This property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes. |
OnDestroy | OnDestroy is called to close the EditorWindow window. |
OnFocus | Called when the window gets keyboard focus. |
OnGUI | Implement your own editor GUI here. |
OnHierarchyChange | Handler for message that is sent when an object or group of objects in the hierarchy changes. |
OnInspectorUpdate | OnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update. |
OnLostFocus | Called when the window loses keyboard focus. |
OnProjectChange | Handler for message that is sent whenever the state of the project changes. |
OnSelectionChange | Called whenever the selection has changed. |
saveChangesMessage | The message that displays to the user if they are prompted to save |
Update | Called multiple times per second on all visible windows. |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | The name of the object. |
GetInstanceID | Gets the instance ID of the object. |
ToString | Returns the name of the object. |
Destroy | Removes a GameObject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
FindObjectOfType | Returns the first active loaded object of Type type. |
FindObjectsOfType | Gets a list of all loaded objects of Type type. |
Instantiate | Clones the object original and returns the clone. |
CreateInstance | Creates an instance of a scriptable object. |
bool | Does the object exist? |
operator != | Compares if two objects refer to a different object. |
operator == | Compares two object references to see if they refer to the same object. |
Awake | This function is called when the ScriptableObject script is started. |
OnDisable | This function is called when the scriptable object goes out of scope. |
OnEnable | This function is called when the object is loaded. |
OnValidate | Editor-only function that Unity calls when the script is loaded or a value changes in the Inspector. |
Reset | Reset to default values. |