Legacy Documentation: Version 5.5
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

SceneManager.GetSceneAt

public static SceneManagement.Scene GetSceneAt(int index);

Parameters

index Index of the scene to get. Index must be greater than or equal to 0 and less than SceneManager.sceneCount.

Returns

Scene A reference to the scene at the index specified.

Description

Get the scene at index in the SceneManager's list of added scenes.

using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine.SceneManagement;
using UnityEngine;
public class Example
{
	// adds a menu item which gives a brief summary of currently open scenes
	[MenuItem("SceneExample/Scene Summary")]
	public static void ListSceneNames()
	{
		string output = "";
		if (SceneManager.sceneCount > 0)
		{
			for (int n = 0; n < SceneManager.sceneCount; ++n)
			{
				Scene scene = SceneManager.GetSceneAt(n);
				output += scene.name;
				output += scene.isLoaded ? " (Loaded, " : " (Not Loaded, ";
				output += scene.isDirty ? "Dirty, " : "Clean, ";
				output += scene.buildIndex >=0 ? " in build)\n" : " NOT in build)\n";
			}
		}
		else
		{
			output = "No open scenes.";
		}
		EditorUtility.DisplayDialog("Scene Summary",output, "Ok");
	}
}