GetSceneAt(int)
Gets the scene at the specified index in the SceneManager's scene list. This includes scenes that are currently loading or unloading.
Read time 1 minuteLast updated 10 days ago
Definition
- Type: Method
- Namespace: UnityEngine.SceneManagement
- Assembly: UnityEngine.CoreModule
public static Scene GetSceneAt(int index)
Parameters
Index of the scene to get. Index must be greater than or equal to 0 and less than SceneManager.sceneCount.
Returns
Type | Description |
|---|---|
| Scene | A reference to the Scene at the index specified. |
Remarks
Additional Resources: SceneManager.loadedSceneCount, SceneManager.sceneCount.
Examples
using System.Text;using UnityEditor;using UnityEngine.SceneManagement;public class Example{ // adds a menu item which gives a brief summary of currently open Scenes [MenuItem("SceneExample/Scene Summary")] public static void ListSceneNames() { StringBuilder sb; if (SceneManager.sceneCount > 0) { sb = new StringBuilder(); for (int n = 0; n < SceneManager.sceneCount; ++n) { Scene scene = SceneManager.GetSceneAt(n); sb.Append(scene.name); sb.Append(scene.isLoaded ? " (Loaded, " : " (Not Loaded, "); sb.Append(scene.isDirty ? "Dirty, " : "Clean, "); sb.Append(scene.buildIndex >= 0 ? " in build)\n" : " NOT in build)\n"); } } else { sb = new StringBuilder("No open Scenes."); } EditorUtility.DisplayDialog("Scene Summary", sb.ToString(), "OK"); }}