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 = Color.red;
[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 = Color.red; } } } }
createButtonName | Allows you to set the text shown on the create button of the wizard. |
errorString | Allows you to set the error text of the wizard. |
helpString | Allows you to set the help text of the wizard. |
isValid | Allows you to enable and disable the wizard create button, so that the user can not click it. |
otherButtonName | Allows you to set the text shown on the optional other button of the wizard. Leave this parameter out to leave the button out. |
DrawWizardGUI | Will be called for drawing contents when the ScriptableWizard needs to update its GUI. |
DisplayWizard | Creates a wizard. |
OnWizardCreate | This is called when the user clicks on the Create button. |
OnWizardOtherButton | Allows you to provide an action when the user clicks on the other button. |
OnWizardUpdate | This is called when the wizard is opened or whenever the user changes something in the wizard. |
focusedWindow | The EditorWindow which currently has keyboard focus. (Read Only) |
mouseOverWindow | The EditorWindow currently under the mouse cursor. (Read Only) |
autoRepaintOnSceneChange | Enable this property to automatically repaint the window when the SceneView is modified. |
dataModeController | An instance of IDataModeController to handle DataMode functionalities for the current window. |
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 | Whether or not this window is 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. |
overlayCanvas | The OverlayCanvas for this window. |
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. |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | The name of the object. |
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 | Shows the EditorWindow as a floating modal window. |
ShowNotification | Show a notification message. |
ShowPopup | Shows an Editor window using popup-style framing. |
ShowTab | Shows a docked Editor window. |
ShowUtility | Show the EditorWindow as a floating utility window. |
TryGetOverlay | Get an Overlay with matching ID from an EditorWindow canvas. |
GetInstanceID | Gets the instance ID of the object. |
ToString | Returns the name of the object. |
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 windowType 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. |
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. |
FindAnyObjectByType | Retrieves any active loaded object of Type type. |
FindFirstObjectByType | Retrieves the first active loaded object of Type type. |
FindObjectsByType | Retrieves a list of all loaded objects of Type type. |
Instantiate | Clones the object original and returns the clone. |
InstantiateAsync | Captures a snapshot of the original object (that must be related to some GameObject) and returns the AsyncInstantiateOperation. |
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 | 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. |
OnBecameInvisible | Called after the window is removed from a container view, or is no longer visible within a tabbed collection of EditorWindow. |
OnBecameVisible | Called after the window is added to a container view. |
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. |
Awake | Called when an instance of ScriptableObject is created. |
OnDestroy | This function is called when the scriptable object will be destroyed. |
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. |
windowFocusChanged | Called whenever the focused editor window is changed. |