class in UnityEditor


Inherits from:EditorWindow

Switch to Manual


Derive from this class to create an editor wizard.

Editor wizards are typically opened using a menu item.

// Creates a simple wizard that lets you create a Light GameObject
// or if the user clicks in "Apply", it will set the color of the currently
// object selected to red

using UnityEditor; using UnityEngine;

public class WizardCreateLight : ScriptableWizard { public float range = 500; public Color color =;

[MenuItem("GameObject/Create Light Wizard")] static void CreateWizard() { ScriptableWizard.DisplayWizard<WizardCreateLight>("Create Light", "Create", "Apply"); //If you don't want to use the secondary button simply leave it out: //ScriptableWizard.DisplayWizard<WizardCreateLight>("Create Light", "Create"); }

void OnWizardCreate() { GameObject go = new GameObject("New Light"); Light lt = go.AddComponent<Light>(); lt.range = range; lt.color = color; }

void OnWizardUpdate() { helpString = "Please set the color of the light!"; }

// When the user presses the "Apply" button OnWizardOtherButton is called. void OnWizardOtherButton() { if (Selection.activeTransform != null) { Light lt = Selection.activeTransform.GetComponent<Light>();

if (lt != null) { lt.color =; } } } }


createButtonNameAllows you to set the text shown on the create button of the wizard.
errorStringAllows you to set the error text of the wizard.
helpStringAllows you to set the help text of the wizard.
isValidAllows you to enable and disable the wizard create button, so that the user can not click it.
otherButtonNameAllows you to set the text shown on the optional other button of the wizard. Leave this parameter out to leave the button out.

Protected Functions

DrawWizardGUIWill be called for drawing contents when the ScriptableWizard needs to update its GUI.

Static Functions

DisplayWizardCreates a wizard.


OnWizardCreateThis is called when the user clicks on the Create button.
OnWizardOtherButtonAllows you to provide an action when the user clicks on the other button.
OnWizardUpdateThis is called when the wizard is opened or whenever the user changes something in the wizard.

Inherited members

Static Variables

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


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 desired position of the window in screen space.
rootVisualElementRetrieves the root visual element of this window hierarchy.
titleContentThe GUIContent used for drawing the title of EditorWindows.
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.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Functions

BeginWindowsПомечает начальную область для всех всплывающих окон.
CloseЗакрывает окно редактора.
EndWindowsЗакрывает группу окон, начатую с помощью EditorWindow.BeginWindows.
FocusMoves keyboard focus to another EditorWindow.
GetExtraPaneTypesGets the extra panes associated with the window.
RemoveNotificationStop showing notification message.
RepaintMake the window repaint.
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.
ShowModalUtilityShow the EditorWindow as a floating modal window.
ShowNotificationShow a notification message.
ShowPopupShows an Editor window using popup-style framing.
ShowUtilityShow the EditorWindow as a floating utility window.
GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the object.

Static Functions

CreateWindowCreates an EditorWindow of type T.
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.
HasOpenInstancesChecks if an editor window is open.
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.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateClones the object original and returns the clone.
CreateInstanceCreates an instance of a scriptable object.


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.


AwakeCalled as the new window is opened.
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.
UpdateCalled multiple times per second on all visible windows.
AwakeThis function is called when the ScriptableObject script is started.
OnDestroyThis function is called when the scriptable object will be destroyed.
OnDisableThis function is called when the scriptable object goes out of scope.
OnEnableThis function is called when the object is loaded.