Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Scene

The runtime data structure for a scene.
Read time 2 minutesLast updated 9 days ago

Definition

public struct Scene

Remarks

This object can be used to query information about a scene, and as an input to various scene manipulation functions in SceneManager and EditorSceneManager. To query the PhysicsScene that is assigned to the scene, use the PhysicsSceneExtensions.GetPhysicsScene method.
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

Property

Description

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.

Methods

Method

Description

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

Description

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