UnloadSceneAsync
Destroys all GameObjects associated with the given Scene and removes the Scene from the SceneManager.
Read time 6 minutesLast updated 10 days ago
Definition
- Type: Method
- Namespace: UnityEngine.SceneManagement
- Assembly: UnityEngine.CoreModule
UnloadSceneAsync(int)
Destroys all GameObjects associated with the given Scene and removes the Scene from the SceneManager.
public static AsyncOperation UnloadSceneAsync(int sceneBuildIndex)
Parameters
Index of the Scene in BuildSettings.
Returns
Type | Description |
|---|---|
| AsyncOperation | Use the AsyncOperation to determine if the operation has completed. |
Remarks
The given Scene name can either be the full Scene path, the path shown in the Build Settings window or just the Scene name. If only the Scene name is given this will unload the first Scene in the list that matches. If you have multiple Scenes with same name but different paths, you should use the full Scene path. Examples of supported formats:
"Scene1""Scene2""Scenes/Scene3""Scenes/Others/Scene3""Assets/scenes/others/scene3.unity"Note: This is case-insensitive and due to it being async there are no guarantees about completion time.
Note: Assets are currently not unloaded. In order to free up asset memory call Resources.UnloadUnusedAssets.
Note: It is not possible to SceneManager.UnloadSceneAsync if there are no scenes to load. For example, a project that has a single scene cannot use this static member.
UnloadSceneAsync(string)
Destroys all GameObjects associated with the given Scene and removes the Scene from the SceneManager.
public static AsyncOperation UnloadSceneAsync(string sceneName)
Parameters
Name or path of the Scene to unload.
Returns
Type | Description |
|---|---|
| AsyncOperation | Use the AsyncOperation to determine if the operation has completed. |
Remarks
The given Scene name can either be the full Scene path, the path shown in the Build Settings window or just the Scene name. If only the Scene name is given this will unload the first Scene in the list that matches. If you have multiple Scenes with same name but different paths, you should use the full Scene path. Examples of supported formats:
"Scene1""Scene2""Scenes/Scene3""Scenes/Others/Scene3""Assets/scenes/others/scene3.unity"Note: This is case-insensitive and due to it being async there are no guarantees about completion time.
Note: Assets are currently not unloaded. In order to free up asset memory call Resources.UnloadUnusedAssets.
Note: It is not possible to SceneManager.UnloadSceneAsync if there are no scenes to load. For example, a project that has a single scene cannot use this static member.
UnloadSceneAsync(Scene)
Destroys all GameObjects associated with the given Scene and removes the Scene from the SceneManager.
public static AsyncOperation UnloadSceneAsync(Scene scene)
Parameters
Scene to unload.
Returns
Type | Description |
|---|---|
| AsyncOperation | Use the AsyncOperation to determine if the operation has completed. |
Remarks
The given Scene name can either be the full Scene path, the path shown in the Build Settings window or just the Scene name. If only the Scene name is given this will unload the first Scene in the list that matches. If you have multiple Scenes with same name but different paths, you should use the full Scene path. Examples of supported formats:
"Scene1""Scene2""Scenes/Scene3""Scenes/Others/Scene3""Assets/scenes/others/scene3.unity"Note: This is case-insensitive and due to it being async there are no guarantees about completion time.
Note: Assets are currently not unloaded. In order to free up asset memory call Resources.UnloadUnusedAssets.
Note: It is not possible to SceneManager.UnloadSceneAsync if there are no scenes to load. For example, a project that has a single scene cannot use this static member.
UnloadSceneAsync(int, UnloadSceneOptions)
Destroys all GameObjects associated with the given Scene and removes the Scene from the SceneManager.
public static AsyncOperation UnloadSceneAsync(int sceneBuildIndex, UnloadSceneOptions options)
Parameters
Index of the Scene in BuildSettings.
Scene unloading options.
Returns
Type | Description |
|---|---|
| AsyncOperation | Use the AsyncOperation to determine if the operation has completed. |
Remarks
The given Scene name can either be the full Scene path, the path shown in the Build Settings window or just the Scene name. If only the Scene name is given this will unload the first Scene in the list that matches. If you have multiple Scenes with same name but different paths, you should use the full Scene path. Examples of supported formats:
"Scene1""Scene2""Scenes/Scene3""Scenes/Others/Scene3""Assets/scenes/others/scene3.unity"Note: This is case-insensitive and due to it being async there are no guarantees about completion time.
Note: Assets are currently not unloaded. In order to free up asset memory call Resources.UnloadUnusedAssets.
Note: It is not possible to SceneManager.UnloadSceneAsync if there are no scenes to load. For example, a project that has a single scene cannot use this static member.
UnloadSceneAsync(string, UnloadSceneOptions)
Destroys all GameObjects associated with the given Scene and removes the Scene from the SceneManager.
public static AsyncOperation UnloadSceneAsync(string sceneName, UnloadSceneOptions options)
Parameters
Name or path of the Scene to unload.
Scene unloading options.
Returns
Type | Description |
|---|---|
| AsyncOperation | Use the AsyncOperation to determine if the operation has completed. |
Remarks
The given Scene name can either be the full Scene path, the path shown in the Build Settings window or just the Scene name. If only the Scene name is given this will unload the first Scene in the list that matches. If you have multiple Scenes with same name but different paths, you should use the full Scene path. Examples of supported formats:
"Scene1""Scene2""Scenes/Scene3""Scenes/Others/Scene3""Assets/scenes/others/scene3.unity"Note: This is case-insensitive and due to it being async there are no guarantees about completion time.
Note: Assets are currently not unloaded. In order to free up asset memory call Resources.UnloadUnusedAssets.
Note: It is not possible to SceneManager.UnloadSceneAsync if there are no scenes to load. For example, a project that has a single scene cannot use this static member.
UnloadSceneAsync(Scene, UnloadSceneOptions)
Destroys all GameObjects associated with the given Scene and removes the Scene from the SceneManager.
public static AsyncOperation UnloadSceneAsync(Scene scene, UnloadSceneOptions options)
Parameters
Returns
Type | Description |
|---|---|
| AsyncOperation | Use the AsyncOperation to determine if the operation has completed. |
Remarks
The given Scene name can either be the full Scene path, the path shown in the Build Settings window or just the Scene name. If only the Scene name is given this will unload the first Scene in the list that matches. If you have multiple Scenes with same name but different paths, you should use the full Scene path. Examples of supported formats:
"Scene1""Scene2""Scenes/Scene3""Scenes/Others/Scene3""Assets/scenes/others/scene3.unity"Note: This is case-insensitive and due to it being async there are no guarantees about completion time.
Note: Assets are currently not unloaded. In order to free up asset memory call Resources.UnloadUnusedAssets.
Note: It is not possible to SceneManager.UnloadSceneAsync if there are no scenes to load. For example, a project that has a single scene cannot use this static member.