Version: 2022.3
LanguageEnglish
  • C#

EditorWindow

class in UnityEditor

/

Inherits from:ScriptableObject

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

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 UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;

public class MyEditorWindow : EditorWindow
{
    [MenuItem("Examples/My Editor Window")]
    public static void ShowExample()
    {
        MyEditorWindow wnd = GetWindow<MyEditorWindow>();
        wnd.titleContent = new GUIContent("MyEditorWindow");
    }

    public void CreateGUI()
    {
        // Each editor window contains a root VisualElement object
        VisualElement root = rootVisualElement;

        // VisualElements objects can contain other VisualElement following a tree hierarchy
        Label label = new Label("Hello World!");
        root.Add(label);

        // Create button
        Button button = new Button();
        button.name = "button";
        button.text = "Button";
        root.Add(button);

        // Create toggle
        Toggle toggle = new Toggle();
        toggle.name = "toggle";
        toggle.label = "Toggle";
        root.Add(toggle);
    }
}

Static Properties

focusedWindowThe EditorWindow which currently has keyboard focus. (Read Only)
mouseOverWindowThe EditorWindow currently under the mouse cursor. (Read Only)

Properties

autoRepaintOnSceneChangeEnable this property to automatically repaint the window when the SceneView is modified.
dataModeControllerAn instance of IDataModeController to handle DataMode functionalities for the current window.
dockedReturns true if EditorWindow is docked.
hasFocusReturns true if EditorWindow is focused.
hasUnsavedChangesThis property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes.
maximizedWhether or not this window is maximized?
maxSizeThe maximum size of this window when it is floating or modal. The maximum size is not used when the window is docked.
minSizeThe minimum size of this window when it is floating or modal. The minimum size is not used when the window is docked.
overlayCanvasThe OverlayCanvas for this window.
positionThe desired position of the window in screen space.
rootVisualElementRetrieves the root visual element of this window hierarchy.
saveChangesMessageThe message that displays to the user if they are prompted to save
titleContentThe GUIContent used for drawing the title of EditorWindows.
wantsLessLayoutEventsSpecifies whether a layout pass is performed before all user events (for example, EventType.MouseDown or EventType.KeyDown), or is only performed before repaint events.
wantsMouseEnterLeaveWindowChecks whether MouseEnterWindow and MouseLeaveWindow events are received in the GUI in this Editor window.
wantsMouseMoveChecks whether MouseMove events are received in the GUI in this Editor window.

Public Methods

BeginWindowsMark the beginning area of all popup windows.
CloseClose the editor window.
DiscardChangesDiscards unsaved changes to the contents of the window.
EndWindowsClose a window group started with EditorWindow.BeginWindows.
FocusMoves keyboard focus to another EditorWindow.
GetExtraPaneTypesGets the extra panes associated with the window.
RemoveNotificationStop showing notification message.
RepaintMake the window repaint.
SaveChangesPerforms a save action on the contents of the window.
SendEventSends an Event to a window.
ShowShow the EditorWindow window.
ShowAsDropDownShows a window with dropdown behaviour and styling.
ShowAuxWindowShow the editor window in the auxiliary window.
ShowModalShow modal editor window.
ShowModalUtilityShows the EditorWindow as a floating modal window.
ShowNotificationShow a notification message.
ShowPopupShows an Editor window using popup-style framing.
ShowTabShows a docked Editor window.
ShowUtilityShow the EditorWindow as a floating utility window.
TryGetOverlayGet an Overlay with matching ID from an EditorWindow canvas.

Protected Methods

OnBackingScaleFactorChangedCalled when the UI scaling for this EditorWindow is changed.

Static Methods

CreateWindowCreates an EditorWindow of type T.
FocusWindowIfItsOpenFocuses the first found EditorWindow of specified type if it is open.
GetWindowReturns the first EditorWindow of type windowType which is currently on the screen.
GetWindowWithRectReturns the first EditorWindow of type t which is currently on the screen.
HasOpenInstancesChecks if an editor window is open.

Messages

AwakeCalled as the new window is opened.
CreateGUICreateGUI is called when the EditorWindow's rootVisualElement is ready to be populated.
hasUnsavedChangesThis property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes.
OnBecameInvisibleCalled after the window is removed from a container view, or is no longer visible within a tabbed collection of EditorWindow.
OnBecameVisibleCalled after the window is added to a container view.
OnDestroyOnDestroy is called to close the EditorWindow window.
OnFocusCalled when the window gets keyboard focus.
OnGUIImplement your own editor GUI here.
OnHierarchyChangeHandler for message that is sent when an object or group of objects in the hierarchy changes.
OnInspectorUpdateOnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update.
OnLostFocusCalled when the window loses keyboard focus.
OnProjectChangeHandler for message that is sent whenever the state of the project changes.
OnSelectionChangeCalled whenever the selection has changed.
saveChangesMessageThe message that displays to the user if they are prompted to save
UpdateCalled multiple times per second on all visible windows.

Inherited Members

Properties

hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Methods

GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static Methods

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
FindObjectsOfTypeGets a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.
InstantiateAsyncCaptures a snapshot of the original object (that must be related to some GameObject) and returns the AsyncInstantiateOperation.
CreateInstanceCreates an instance of a scriptable object.

Operators

boolDoes 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.

Messages

AwakeCalled when an instance of ScriptableObject is created.
OnDisableThis function is called when the scriptable object goes out of scope.
OnEnableThis function is called when the object is loaded.
OnValidateEditor-only function that Unity calls when the script is loaded or a value changes in the Inspector.
ResetReset to default values.