Version: Unity 6.1 Alpha (6000.1)
LanguageEnglish
  • C#

Scene

struct in UnityEngine.SceneManagement

/

Implemented in:UnityEngine.CoreModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

The runtime data structure for a scene.

This object can be used to query information about a scene, and as an input to various scene manipulation functions in SceneManager and EditorSceneManager.

The following script prints some information about the currently loaded scene, creates and switches to a new scene, then prints the same information for the new scene. To use the script, attach it to a GameObject and run the project.

using UnityEngine;
using UnityEngine.SceneManagement;

public class SwitchSceneAndQueryInfo : MonoBehaviour { public static void QuerySceneInfo(Scene scene) { Debug.Log("Scene name: " + scene.name); Debug.Log("Scene path: " + scene.path); Debug.Log("Scene build index: " + scene.buildIndex); Debug.Log("Scene is dirty: " + scene.isDirty); Debug.Log("Scene is loaded: " + scene.isLoaded); Debug.Log("Scene root count: " + scene.rootCount); }

public void Start() { // Query information about the currently active scene Scene currentScene = SceneManager.GetActiveScene(); QuerySceneInfo(currentScene);

// Create a new scene and switch to it var newScene = SceneManager.CreateScene("MyNewScene"); SceneManager.SetActiveScene(newScene); SceneManager.UnloadSceneAsync(currentScene);

// Query information about the new scene QuerySceneInfo(newScene); } }

Additional resources: SceneAsset.

Properties

buildIndexReturn the index of the Scene in the Build Settings.
handleA unique identifier for a loaded scene.
isDirtyReturns true if the Scene is modified.
isLoadedIsLoaded is set to true after loading has completed and objects have been enabled.
isSubSceneWhether this scene is a subscene.
nameReturns the name of the Scene that is currently active in the game or app.
pathReturns the relative path of the Scene. For example: "Assets/MyScenes/MyScene.unity".
rootCountThe number of root transforms of this Scene.

Public Methods

GetRootGameObjectsReturns all the root game objects in the Scene.
IsValidWhether this is a valid Scene. A Scene may be invalid if, for example, you tried to open a Scene that does not exist. In this case, the Scene returned from EditorSceneManager.OpenScene would return False for IsValid.

Operators

operator !=Returns true if the Scenes are different.
operator ==Returns true if the Scenes are equal.