Legacy Documentation: Version 4.6(go to latest)
Language: English
  • C#
  • JS
  • Boo

Script language

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

EditorWindow

Namespace: 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.

// JavaScript example:
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>();
	}
	
	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 ();
	}
}
// C# example:
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));
	}
	
	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

focusedWindow The EditorWindow which currently has keyboard focus. (Read Only)
mouseOverWindow The EditorWindow currently under the mouse cursor. (Read Only)

Variables

autoRepaintOnSceneChange Does the window automatically repaint whenever the scene has changed?
maximized Is this window maximized.
maxSize The maximum size of this window.
minSize The minimum size of this window.
position The position of the window in screen space.
title The title of this window.
wantsMouseMove Does the GUI in this editor window want MouseMove events?

Functions

BeginWindows Mark the beginning area of all popup windows.
Close Close the editor window.
EndWindows Close a window group started with EditorWindow.BeginWindows.
Focus Moves keyboard focus to this EditorWindow.
RemoveNotification Stop showing notification message.
Repaint Make the window repaint.
SendEvent Sends an Event to a window.
Show Show the EditorWindow.
ShowAsDropDown Show window with dropdown behaviour (e.g. window is closed when it loses focus) and having.
ShowAuxWindow Show the editor window in the auxiliary window.
ShowNotification Show a notification message.
ShowPopup Used for popup style windows.
ShowUtility Show the EditorWindow as a floating utility window.

Static Functions

FocusWindowIfItsOpen Focuses the first found EditorWindow of specified type if it is open.
GetWindow Returns the first EditorWindow of type t which is currently on the screen.
GetWindowWithRect Returns the first EditorWindow of type t which is currently on the screen.

Messages

OnDestroy OnDestroy is called when the EditorWindow is closed.
OnFocus Called when the window gets keyboard focus.
OnGUI Implement your own editor GUI here.
OnHierarchyChange Called whenever the scene hierarchy has changed.
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 Called whenever the project has changed.
OnSelectionChange Called whenever the selection has changed.
Update Called 100 times per second on all visible windows.

Inherited members

Variables

hideFlags Should the object be hidden, saved with the scene or modifiable by the user?
name The name of the object.

Functions

GetInstanceID Returns the instance id of the object.
ToString Returns the name of the game object.

Static Functions

Destroy Removes a gameobject, component or asset.
DestroyImmediate Destroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoad Makes the object target not be destroyed automatically when loading a new scene.
FindObjectOfType Returns the first active loaded object of Type type.
FindObjectsOfType Returns a list of all active loaded objects of Type type.
Instantiate Clones the object original and returns the clone.
CreateInstance Creates an instance of a scriptable object with className.

Operators

bool Does the object exist?
operator != Compares if two objects refer to a different object.
operator == Compares if two objects refer to the same.

Messages

OnDisable This function is called when the scriptable object goes out of scope.
OnEnable This function is called when the object is loaded.