Editor Manual     Reference     Scripting  
Scripting > Editor Classes > Editor
Editor Inherits from ScriptableObject

Base class to derive custom Editors from. Use this to create your own custom inspectors and editors for your objects.

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.

You can attach the Editor to a custom component by using the CustomEditor attribute.

// This example shows a custom inspector for an
// object "MyPlayer", which has three variables, 'speed', 'ammo' and
// 'gun' (a reference to a GameObject).

#pragma strict
@CustomEditor(MyPlayer)
class MyPlayerEditor extends Editor {
function OnInspectorGUI() {
var myPlayer : MyPlayer = target as MyPlayer;

EditorGUILayout.BeginHorizontal ();
EditorGUILayout.PrefixLabel ("Speed");
myPlayer.speed = EditorGUILayout.Slider(myPlayer.speed, 0.0, 100.0);
EditorGUILayout.EndHorizontal ();

EditorGUILayout.BeginHorizontal ();
EditorGUILayout.PrefixLabel ("Ammo");
myPlayer.ammo = EditorGUILayout.IntField(myPlayer.ammo);
EditorGUILayout.EndHorizontal ();

EditorGUILayout.BeginHorizontal ();
EditorGUILayout.PrefixLabel ("Gun object");
var allowSceneObjects : boolean = !EditorUtility.IsPersistent(target);
myPlayer.gun = EditorGUILayout.ObjectField(myPlayer.gun,
GameObject,
allowSceneObjects) as GameObject;
EditorGUILayout.EndHorizontal ();
}
}

// This is the MyPlayer script used above

var speed : float;
var ammo : int;
var gun : GameObject;

function Update () {
// Update logic here...
}

Variables
target

The object being inspected.

Functions
DrawDefaultInspector

Draw the built-in inspector.

OnInspectorGUI

Implement this function to make a custom inspector.

Repaint

Repaint any inspectors that shows this editor.

HasPreviewGUI

Override this method in subclasses if you implement OnPreviewGUI.

OnPreviewGUI

Implement this method in a subclass if you want to have a preview field in the inspector.

OnPreviewSettings

Override this method if you want to show custom controls in the preview header.

GetInfoString

Implement this method to show asset information on top of the asset preview.

Messages Sent
OnSceneGUI

Lets the Editor handle an event in the scene view.

Inherited members
Inherited Variables
name

The name of the object.

hideFlags

Should the object be hidden, saved with the scene or modifiable by the user?

Inherited Functions
GetInstanceID

Returns the instance id of the object.

ToString

Returns the name of the game object.

Inherited Messages Sent
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.

Inherited Class Functions
CreateInstance

Creates an instance of a scriptable object with className.

operator bool

Does the object exist?

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.