Version: 2021.1
  • C#


class in UnityEditor


Inherits from:EditorWindow

Implements interfaces:IHasCustomMenu

Suggest a change


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.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Use this class to manage SceneView settings, change the SceneView camera properties, subscribe to events, call SceneView methods, and render open scenes.

Static Properties

currentDrawingSceneViewThe SceneView that is being drawn.
lastActiveSceneViewThe SceneView that was most recently in focus.
sceneViewsThe list of all open Scene view windows.
selectedOutlineColorGets the Color of selected outline.


audioPlayEnables or disables Scene view audio effects.
cameraThe Camera that is rendering this SceneView.
cameraDistanceThe distance from camera to pivot.
cameraModeThe current DrawCameraMode for the Scene view camera.
cameraSettingsUse CameraSettings to set the properties for the SceneView Camera.
drawGizmosSets the visibility of all Gizmos in the Scene view.
in2DModeWhether the SceneView is in 2D mode.
isRotationLockedWhether the Scene view camera can be rotated.
lastSceneViewRotationWhen the Scene view is in 2D mode, this property contains the last camera rotation.
orthographicWhether the Scene view camera is set to orthographic mode.
pivotThe central point that the camera orbits within the Scene view.
rotationThe direction of the camera to the pivot of the SceneView.
sceneLightingWhether lighting is enabled or disabled in the Scene view.
sceneViewStateUse SceneViewState to set the debug options for the Scene view.
showGridGets or sets whether to enable the grid for an instance of the SceneView.
sizeThe size of the Scene view measured diagonally.
validateTrueMetalsWhether the albedo is black for materials with an average specular color above 0.45.

Public Methods

AlignViewToObjectMoves the Scene view to frame a transform.
AlignWithViewAligns the current selection with the position and rotation of the Scene view camera.
FrameFrames the given bounds in the Scene view.
FrameSelectedFrame the object selection in the Scene view.
IsCameraDrawModeEnabledReturns true if mode is enabled in the current rendering setup, including custom validators.
IsCameraDrawModeSupportedChecks if the current rendering configuration supports the CameraMode. The check includes custom validators.
LookAtMoves the Scene view to focus on a target.
LookAtDirect LookAt without animating the scene movement.
MoveToViewTransforms all selected object to the scene pivot.
ResetCameraSettingsResets the CameraSettings for the SceneView Camera to default.
SetSceneViewShaderReplaceSets a replacement shader for rendering this Scene view.

Protected Methods

SupportsStageHandlingOverride this method to control whether the Scene view should change when you switch from one stage to another stage.

Static Methods

AddCameraModeAdd a custom camera mode to the Scene view camera mode list.
ClearUserDefinedCameraModesRemove all user-defined camera modes.
FrameLastActiveSceneViewFrames the currently selected object(s) in the last active Scene view.
GetAllSceneCamerasRetrieves an array of all camera components from all open Scene views.
GetBuiltinCameraModeGets the built-in CameraMode that matches the specified DrawCameraMode.
RepaintAllRepaints every open SceneView.


beforeSceneGuiThe event issued when the OnGUI method is called.
duringSceneGuiSubscribe to this event to receive a callback whenever the Scene view calls the OnGUI method.
gridVisibilityChangedInvoked when grid visibility changes.
onCameraModeChangedAn event that is invoked when the selected cameraMode changes.

Inherited Members

Static Properties

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?
dockedReturns true if EditorWindow is docked.
hasFocusReturns true if EditorWindow is focused.
hasUnsavedChangesWhen set to true in a derived class, the editor will prompt the user to save unsaved changes if the window is about to be closed.
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.
saveChangesMessageThe message that displays to the user if they are prompted to save
titleContentThe GUIContent used for drawing the title of EditorWindows.
wantsLessLayoutEventsSpecifies whether a layout pass is performed before all user events (for example, EventType.MouseDown or [[EventType, KeyDown]]), or is only performed before repaint events.
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 Methods

BeginWindowsMark the beginning area of all popup windows.
CloseClose the editor window.
EndWindowsClose a window group started with EditorWindow.BeginWindows.
FocusMoves keyboard focus to another EditorWindow.
GetExtraPaneTypesGets the extra panes associated with the window.
RemoveNotificationStop showing notification message.
RepaintMake the window repaint.
SaveChangesPerforms a save action on the contents of the window.
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.
GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static Methods

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.
FindObjectsOfTypeGets a list of all 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.
CreateGUICreateGUI is called when the EditorWindow's rootVisualElement is ready to be populated.
hasUnsavedChangesWhen set to true in a derived class, the editor will prompt the user to save unsaved changes if the window is about to be closed.
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.
saveChangesMessageThe message that displays to the user if they are prompted to save
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.
OnValidateEditor-only function that Unity calls when the script is loaded or a value changes in the Inspector.
ResetReset to default values.