Legacy Documentation: Version 5.4
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

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

Sumbission failed

For some reason your suggested change could not be submitted. Please try again 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.

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>();
        window.Show();
    }
    
    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 ();
    }
}
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 ();
    }
}

Static Variables

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

Variables

autoRepaintOnSceneChangeDoes the window automatically repaint whenever the scene has changed?
maximizedIs this window maximized.
maxSizeThe maximum size of this window.
minSizeThe minimum size of this window.
positionThe position of the window in screen space.
titleContentThe GUIContent used for drawing the title of EditorWindows.
wantsMouseMoveDoes the GUI in this editor window want MouseMove events?

Public Functions

BeginWindowsMark the beginning area of all popup windows.
CloseClose the editor window.
EndWindowsClose a window group started with EditorWindow.BeginWindows.
FocusMoves keyboard focus to this EditorWindow.
RemoveNotificationStop showing notification message.
RepaintMake the window repaint.
SendEventSends an Event to a window.
ShowShow the EditorWindow.
ShowAsDropDownShows a window with dropdown behaviour and styling.
ShowAuxWindowShow the editor window in the auxiliary window.
ShowNotificationShow a notification message.
ShowPopupShows an Editor window using popup-style framing.
ShowUtilityShow the EditorWindow as a floating utility window.

Static Functions

FocusWindowIfItsOpenFocuses the first found EditorWindow of specified type if it is open.
GetWindowReturns the first EditorWindow of type t which is currently on the screen.
GetWindowWithRectReturns the first EditorWindow of type t which is currently on the screen.

Messages

AwakeCalled as the new window is opened.
OnDestroyOnDestroy is called when the EditorWindow is closed.
OnFocusCalled when the window gets keyboard focus.
OnGUIImplement your own editor GUI here.
OnHierarchyChangeCalled whenever the scene hierarchy has changed.
OnInspectorUpdateOnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update.
OnLostFocusCalled when the window loses keyboard focus.
OnProjectChangeCalled whenever the project has changed.
OnSelectionChangeCalled whenever the selection has changed.
UpdateCalled multiple times per second on all visible windows.

Inherited members

Variables

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

Public Functions

GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the game object.

Static Functions

DestroyRemoves a gameobject, component or asset.
DestroyImmediateDestroys the object obj immediately.
DontDestroyOnLoadMakes the object target not be destroyed automatically when loading a new scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateReturns a copy of the object original.
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

AwakeThis function is called when the ScriptableObject script is started.
OnDisableThis function is called when the scriptable object goes out of scope.
OnEnableThis function is called when the object is loaded.
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961