# EditorSceneManager

> Scene management in the Editor.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.SceneManagement](/engine/6000.0/script-reference/unityeditor/scenemanagement.md)
* **Assembly:** UnityEditor
* **Inherits from:** [SceneManager](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager.md)

```csharp
public sealed class EditorSceneManager : SceneManager
```

## Static Fields

| Value                                                                                                                                | Description                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [DefaultSceneCullingMask](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/defaultscenecullingmask.md) | Use [SceneCullingMasks.DefaultSceneCullingMask](/engine/6000.0/script-reference/unityeditor/scenemanagement/scenecullingmasks/defaultscenecullingmask.md) instead. |

## Static Properties

| Property                                                                                                                                     | Description                                                        |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [playModeStartScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/playmodestartscene.md)                   | Loads this SceneAsset when you start Play Mode.                    |
| [preventCrossSceneReferences](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/preventcrossscenereferences.md) | Controls whether cross-Scene references are allowed in the Editor. |
| [previewSceneCount](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/previewscenecount.md)                     | The current amount of active preview Scenes.                       |

## Static Methods

| Method                                                                                                                                                             | Description                                                                                                                                                                                                                                                                                                             |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CalculateAvailableSceneCullingMask](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/calculateavailablescenecullingmask.md)         | Go through all Scenes and find the smallest unused bit in the unition of all Scene culling masks.                                                                                                                                                                                                                       |
| [ClosePreviewScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/closepreviewscene.md)                                           | Closes a preview Scene created by [EditorSceneManager.NewPreviewScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/newpreviewscene.md) or [EditorSceneManager.OpenPreviewScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/openpreviewscene.md). |
| [CloseScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/closescene.md)                                                         | Close the Scene. If removeScene flag is true, the closed Scene will also be removed from EditorSceneManager.                                                                                                                                                                                                            |
| [DetectCrossSceneReferences](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/detectcrossscenereferences.md)                         | Detects cross-Scene references in a Scene.                                                                                                                                                                                                                                                                              |
| [EnsureUntitledSceneHasBeenSaved](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/ensureuntitledscenehasbeensaved.md)               | Shows a save dialog if an Untitled Scene exists in the current Scene manager setup.                                                                                                                                                                                                                                     |
| [GetSceneCullingMask](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/getscenecullingmask.md)                                       | Return the culling mask set on the given Scene.                                                                                                                                                                                                                                                                         |
| [GetSceneManagerSetup](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/getscenemanagersetup.md)                                     | Returns the current setup of the SceneManager.                                                                                                                                                                                                                                                                          |
| [IsPreviewScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/ispreviewscene.md)                                                 | Is the Scene a preview Scene?                                                                                                                                                                                                                                                                                           |
| [IsPreviewSceneObject](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/ispreviewsceneobject.md)                                     | Is this object part of a preview Scene?                                                                                                                                                                                                                                                                                 |
| [LoadSceneAsyncInPlayMode](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/loadsceneasyncinplaymode.md)                             | This method allows you to load a Scene during playmode in the editor, without requiring the Scene to be included in the [Build Settings](/engine/6000.0/manual/building-and-publishing/build-settings.md) Scene list.                                                                                                   |
| [LoadSceneInPlayMode](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/loadsceneinplaymode.md)                                       | This method allows you to load a Scene during playmode in the editor, without requiring the Scene to be included in the [Build Settings](/engine/6000.0/manual/building-and-publishing/build-settings.md) Scene list.                                                                                                   |
| [MarkAllScenesDirty](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/markallscenesdirty.md)                                         | Mark all the loaded Scenes as modified.                                                                                                                                                                                                                                                                                 |
| [MarkSceneDirty](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/markscenedirty.md)                                                 | Mark the specified Scene as modified.                                                                                                                                                                                                                                                                                   |
| [MoveSceneAfter](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/movesceneafter.md)                                                 | Allows you to reorder the Scenes currently open in the Hierarchy window. Moves the source Scene so it comes after the destination Scene.                                                                                                                                                                                |
| [MoveSceneBefore](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/movescenebefore.md)                                               | Allows you to reorder the Scenes currently open in the Hierarchy window. Moves the source Scene so it comes before the destination Scene.                                                                                                                                                                               |
| [NewPreviewScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/newpreviewscene.md)                                               | Creates a new preview Scene.  Any object added to a preview Scene will only be rendered in that Scene.                                                                                                                                                                                                                  |
| [NewScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/newscene.md)                                                             | Create a new Scene.                                                                                                                                                                                                                                                                                                     |
| [OpenPreviewScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/openpreviewscene.md)                                             | Opens a Scene Asset in a preview Scene.                                                                                                                                                                                                                                                                                 |
| [OpenScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/openscene.md)                                                           | Open a Scene in the Editor.                                                                                                                                                                                                                                                                                             |
| [RestoreSceneManagerSetup](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/restorescenemanagersetup.md)                             | Restore the setup of the SceneManager.                                                                                                                                                                                                                                                                                  |
| [SaveCurrentModifiedScenesIfUserWantsTo](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/savecurrentmodifiedscenesifuserwantsto.md) | Asks the user if they want to save the current open modified Scene or Scenes in the Hierarchy.                                                                                                                                                                                                                          |
| [SaveModifiedScenesIfUserWantsTo](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/savemodifiedscenesifuserwantsto.md)               | Asks whether the modfied input Scenes should be saved.                                                                                                                                                                                                                                                                  |
| [SaveOpenScenes](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/saveopenscenes.md)                                                 | Save all open Scenes.                                                                                                                                                                                                                                                                                                   |
| [SaveScene](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/savescene.md)                                                           | Save a Scene.                                                                                                                                                                                                                                                                                                           |
| [SaveScenes](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/savescenes.md)                                                         | Save a list of Scenes.                                                                                                                                                                                                                                                                                                  |
| [SetSceneCullingMask](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/setscenecullingmask.md)                                       | Set the culling mask on this scene to this value. Cameras will only render objects in Scenes that have the same bits set in their culling mask.                                                                                                                                                                         |

## Static Events

| Member                                                                                                                                         | Description                                                                                                             |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| [activeSceneChangedInEditMode](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/activescenechangedineditmode.md) | Subscribe to this event to get notified when the active Scene has changed in Edit mode in the Editor.                   |
| [newSceneCreated](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/newscenecreated.md)                           | This event is called after a new Scene has been created.                                                                |
| [sceneClosed](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneclosed.md)                                   | This event is called after a Scene has been closed in the editor.                                                       |
| [sceneClosing](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneclosing.md)                                 | This event is called before closing an open Scene after you have requested that the Scene is closed.                    |
| [sceneDirtied](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenedirtied.md)                                 | This event is called after a Scene has been modified in the editor.                                                     |
| [sceneManagerSetupRestored](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenemanagersetuprestored.md)       | This can be useful to get notified when the SceneManager's scenes are replaced with a set of new scenes from calls to . |
| [sceneOpened](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneopened.md)                                   | This event is called after a Scene has been opened in the editor.                                                       |
| [sceneOpening](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneopening.md)                                 | This event is called before opening an existing Scene.                                                                  |
| [sceneSaved](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenesaved.md)                                     | This event is called after a Scene has been saved.                                                                      |
| [sceneSaving](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenesaving.md)                                   | This event is called before a Scene is saved disk after you have requested the Scene to be saved.                       |

## Delegates

| Delegate                                                                                                                                                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [EditorSceneManager.NewSceneCreatedCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/newscenecreatedcallback.md)                     | Callbacks of this type which have been added to the [EditorSceneManager.newSceneCreated](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/newscenecreated.md) event are called after a new Scene has been created.                                                                                                                                                                  |
| [EditorSceneManager.SceneClosedCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneclosedcallback.md)                             | Callbacks of this type which have been added to the [EditorSceneManager.sceneClosed](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneclosed.md) event are called immediately after the Scene has been closed.                                                                                                                                                                 |
| [EditorSceneManager.SceneClosingCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneclosingcallback.md)                           | Callbacks of this type which have been added to the [EditorSceneManager.sceneClosing](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneclosing.md) event are called just before a Scene is closed.                                                                                                                                                                             |
| [EditorSceneManager.SceneDirtiedCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenedirtiedcallback.md)                           | Callbacks of this type which have been added to the [EditorSceneManager.sceneDirtied](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenedirtied.md) event are called after a Scene changes from being unmodified to being modified.                                                                                                                                             |
| [EditorSceneManager.SceneManagerSetupRestoredCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenemanagersetuprestoredcallback.md) | Callbacks of this type which have been added to the [EditorSceneManager.sceneManagerSetupRestored](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenemanagersetuprestored.md) event are called after [EditorSceneManager.RestoreSceneManagerSetup](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/restorescenemanagersetup.md) has been called. |
| [EditorSceneManager.SceneOpenedCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneopenedcallback.md)                             | Callbacks of this type which have been added to the [EditorSceneManager.sceneOpened](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneopened.md) event are called after a Scene has been opened.                                                                                                                                                                               |
| [EditorSceneManager.SceneOpeningCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneopeningcallback.md)                           | Callbacks of this type which have been added to the [EditorSceneManager.sceneOpening](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/sceneopening.md) event are called just before opening a Scene.                                                                                                                                                                               |
| [EditorSceneManager.SceneSavedCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenesavedcallback.md)                               | Callbacks of this type which have been added to the [EditorSceneManager.sceneSaved](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenesaved.md) event are called after a Scene has been saved.                                                                                                                                                                                  |
| [EditorSceneManager.SceneSavingCallback](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenesavingcallback.md)                             | Callbacks of this type which have been added to the [EditorSceneManager.sceneSaving](/engine/6000.0/script-reference/unityeditor/scenemanagement/editorscenemanager/scenesaving.md) event are called just before the Scene is saved.                                                                                                                                                                              |

## Inheritance

**Inherited Members:**

* [SceneManager.GetActiveScene()](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getactivescene.md)
* [SceneManager.SetActiveScene(Scene)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/setactivescene.md)
* [SceneManager.GetSceneByPath(string)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getscenebypath.md)
* [SceneManager.GetSceneByName(string)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getscenebyname.md)
* [SceneManager.GetSceneByBuildIndex(int)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getscenebybuildindex.md)
* [SceneManager.GetSceneAt(int)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getsceneat.md)
* [SceneManager.CreateScene(string, CreateSceneParameters)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/createscene.md#createscene\(string-createsceneparameters\))
* [SceneManager.MergeScenes(Scene, Scene)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/mergescenes.md)
* [SceneManager.MoveGameObjectToScene(GameObject, Scene)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/movegameobjecttoscene.md)
* [SceneManager.MoveGameObjectsToScene(NativeArray\<int>, Scene)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/movegameobjectstoscene.md)
* [SceneManager.CreateScene(string)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/createscene.md#createscene\(string\))
* [SceneManager.LoadScene(string, LoadSceneMode)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadscene.md#loadscene\(string-loadscenemode\))
* [SceneManager.LoadScene(string, LoadSceneParameters)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadscene.md#loadscene\(string-loadsceneparameters\))
* [SceneManager.LoadScene(int, LoadSceneMode)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadscene.md#loadscene\(int-loadscenemode\))
* [SceneManager.LoadScene(int, LoadSceneParameters)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadscene.md#loadscene\(int-loadsceneparameters\))
* [SceneManager.LoadSceneAsync(int, LoadSceneMode)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadsceneasync.md#loadsceneasync\(int-loadscenemode\))
* [SceneManager.LoadSceneAsync(int, LoadSceneParameters)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadsceneasync.md#loadsceneasync\(int-loadsceneparameters\))
* [SceneManager.LoadSceneAsync(string, LoadSceneMode)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadsceneasync.md#loadsceneasync\(string-loadscenemode\))
* [SceneManager.LoadSceneAsync(string, LoadSceneParameters)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadsceneasync.md#loadsceneasync\(string-loadsceneparameters\))
* [SceneManager.UnloadSceneAsync(int)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/unloadsceneasync.md#unloadsceneasync\(int\))
* [SceneManager.UnloadSceneAsync(string)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/unloadsceneasync.md#unloadsceneasync\(string\))
* [SceneManager.UnloadSceneAsync(Scene)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/unloadsceneasync.md#unloadsceneasync\(scene\))
* [SceneManager.UnloadSceneAsync(int, UnloadSceneOptions)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/unloadsceneasync.md#unloadsceneasync\(int-unloadsceneoptions\))
* [SceneManager.UnloadSceneAsync(string, UnloadSceneOptions)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/unloadsceneasync.md#unloadsceneasync\(string-unloadsceneoptions\))
* [SceneManager.UnloadSceneAsync(Scene, UnloadSceneOptions)](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/unloadsceneasync.md#unloadsceneasync\(scene-unloadsceneoptions\))
* [SceneManager.sceneCount](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/scenecount.md)
* [SceneManager.sceneCountInBuildSettings](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/scenecountinbuildsettings.md)
* [SceneManager.sceneLoaded](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/sceneloaded.md)
* [SceneManager.sceneUnloaded](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/sceneunloaded.md)
* [SceneManager.activeSceneChanged](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/activescenechanged.md)
