Derive from this class to create an editor wizard.
Note: This is an editor class. To use it you have to place your script in Assets/Editor inside your project folder. Editor classes are in the UnityEditor namespace so for C# scripts you need to add "using UnityEditor;" at the beginning of the script.
Editor wizards are typically opened using a menu item.
// C#
// Creates a simple wizard that lets you create a Ligth 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");
go.AddComponent("Light");
go.light.range = range;
go.light.color = color;
}
void OnWizardUpdate () {
helpString = "Please set the color of the light!";
}
// When the user pressed the "Apply" button OnWizardOtherButton is called.
void OnWizardOtherButton () {
if (Selection.activeTransform == null ||
Selection.activeTransform.light == null) return;
Selection.activeTransform.light.color = Color.red;
}
}
| helpString |
Allows you to set the help text of the wizard. |
| errorString |
Allows you to set the error text of the wizard. |
| isValid |
Allows you to enable and disable the wizard create button, so that the user can not click it. |
| OnWizardUpdate |
This is called when the wizard is opened or whenever the user changes something in the wizard. |
| OnWizardCreate |
This is called when the user clicks on the Create button. |
| OnDrawGizmos |
Called every frame when the wizard is visible. |
| OnWizardOtherButton |
Allows you to provide an action when the user clicks on the other button. |
| DisplayWizard |
Creates a wizard. |
| wantsMouseMove |
Does the GUI in this editor window want MouseMove events? |
| autoRepaintOnSceneChange |
Does the window automatically repaint whenever the scene has changed? |
| minSize |
The minimum size of this window. |
| maxSize |
The maximum size of this window. |
| title |
The title of this window. |
| position |
The position of the window in screen space. |
| name |
The name of the object. |
| hideFlags |
Should the object be hidden, saved with the scene or modifiable by the user? |
| BeginWindows |
Mark the beginning area of all popup windows. |
| EndWindows |
Close a window group started with EditorWindow.BeginWindows. |
| ShowNotification |
|
| RemoveNotification |
|
| ShowTab |
|
| Focus |
Moves keyboard focus to this EditorWindow. |
| ShowUtility |
Show the EditorWindow as a floating utility window. |
| ShowPopup |
Used for popup style windows. |
| ShowAsDropDown |
|
| Show |
Show the EditorWindow. |
| ShowAuxWindow |
Show the editor window in the auxiliary window. |
| Close |
Close the editor window. |
| Repaint |
Make the window repaint. |
| SendEvent |
Sends an Event to a window. |
| GetInstanceID |
Returns the instance id of the object. |
| ToString |
Returns the name of the game object. |
| OnGUI |
Implement your own editor GUI here. |
| Update |
Called 100 times per second on all visible windows. |
| OnInspectorUpdate |
OnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update. |
| OnDestroy |
OnDestroy is called when the EditorWindow is closed. |
| OnSelectionChange |
Called whenever the selection has changed. |
| OnFocus |
Called when the window gets keyboard focus. |
| OnLostFocus |
Called when the window loses keyboard focus. |
| OnHierarchyChange |
Called whenever the scene hierarchy has changed. |
| OnProjectChange |
Called whenever the project has changed. |
| OnEnable |
This function is called when the object is loaded. |
| OnDisable |
This function is called when the scriptable object goes out of scope. |
| OnDestroy |
This function is called when the scriptable object will be destroyed. |
| focusedWindow |
The EditorWindow which currently has keyboard focus. (Read Only) |
| mouseOverWindow |
The EditorWindow currently under the mouse cursor. (Read Only) |
| GetWindow |
Returns the first EditorWindow of type t which is currently on the screen. |
| FocusWindowIfItsOpen |
Focuses the first found EditorWindow of specified type if it is open. |
| GetWindowWithRect |
Returns the first EditorWindow of type t which is currently on the screen. |
| CreateInstance |
Creates an instance of a scriptable object with className. |
| operator bool |
|
| Instantiate |
Clones the object original and returns the clone. |
| Destroy |
Removes a gameobject, component or asset. |
| DestroyImmediate |
Destroys the object obj immediately. It is strongly recommended to use Destroy instead. |
| FindObjectsOfType |
Returns a list of all active loaded objects of Type type. |
| FindObjectOfType |
Returns the first active loaded object of Type type. |
| operator == |
Compares if two objects refer to the same. |
| operator != |
Compares if two objects refer to a different object. |
| DontDestroyOnLoad |
Makes the object target not be destroyed automatically when loading a new scene. |