# GetSceneAt(int)

> Gets the scene at the specified index in the SceneManager's scene list. This includes scenes that are currently loading or unloading.

## Definition

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

```csharp
public static Scene GetSceneAt(int index)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Index of the scene to get. Index must be greater than or equal to 0 and less than [SceneManager.sceneCount](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/scenecount.md).

### Returns

| Type                                                                          | Description                                      |
| ----------------------------------------------------------------------------- | ------------------------------------------------ |
| [Scene](/engine/6000.0/script-reference/unityengine/scenemanagement/scene.md) | A reference to the Scene at the index specified. |

### Remarks

Additional Resources: [SceneManager.loadedSceneCount](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/loadedscenecount.md), [SceneManager.sceneCount](/engine/6000.0/script-reference/unityengine/scenemanagement/scenemanager/scenecount.md).

### Examples

```csharp
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");
    }
}
```
