# SceneManager

> Scene management at run-time.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.SceneManagement](/engine/6000.0/script-reference/unityengine/scenemanagement.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public class SceneManager
```

## Static Properties

| Property                                                                                                                           | Description                         |
| ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| [loadedSceneCount](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadedscenecount.md)                   | The number of loaded Scenes.        |
| [sceneCount](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/scenecount.md)                               | The current number of Scenes.       |
| [sceneCountInBuildSettings](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/scenecountinbuildsettings.md) | Number of Scenes in Build Settings. |

## Static Methods

| Method                                                                                                                       | Description                                                                                                                           |
| ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| [CreateScene](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/createscene.md)                       | Create an empty new Scene at runtime with the given name.                                                                             |
| [GetActiveScene](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getactivescene.md)                 | Gets the currently active Scene.                                                                                                      |
| [GetSceneAt](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getsceneat.md)                         | Gets the scene at the specified index in the SceneManager's scene list. This includes scenes that are currently loading or unloading. |
| [GetSceneByBuildIndex](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getscenebybuildindex.md)     | Get a Scene struct from a build index.                                                                                                |
| [GetSceneByName](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getscenebyname.md)                 | Searches through the Scenes loaded for a Scene with the given name.                                                                   |
| [GetSceneByPath](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/getscenebypath.md)                 | Searches all Scenes loaded for a Scene that has the given asset path.                                                                 |
| [LoadScene](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadscene.md)                           | Loads the Scene by its name or index in Build Settings.                                                                               |
| [LoadSceneAsync](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadsceneasync.md)                 | Loads the Scene asynchronously in the background.                                                                                     |
| [MergeScenes](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/mergescenes.md)                       | This will merge the source Scene into the destinationScene.                                                                           |
| [MoveGameObjectsToScene](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/movegameobjectstoscene.md) | Move multiple GameObjects, represented by a NativeArray of instance IDs, from their current Scene to a new Scene.                     |
| [MoveGameObjectToScene](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/movegameobjecttoscene.md)   | Move a GameObject from its current Scene to a new Scene.                                                                              |
| [SetActiveScene](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/setactivescene.md)                 | Set the Scene to be active.                                                                                                           |
| [UnloadSceneAsync](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/unloadsceneasync.md)             | Destroys all GameObjects associated with the given Scene and removes the Scene from the SceneManager.                                 |

## Static Events

| Member                                                                                                               | Description                                                                          |
| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [activeSceneChanged](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/activescenechanged.md) | Subscribe to this event to get notified when the active Scene has changed.           |
| [sceneLoaded](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/sceneloaded.md)               | Assign a custom callback to this event to get notifications when a Scene has loaded. |
| [sceneUnloaded](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/sceneunloaded.md)           | Add a delegate to this to get notifications when a Scene has unloaded.               |
