You can edit multiple scenesA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary using scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary within the Editor or at runtime.
When using (or running) scripts within the Editor, use:
Scene
struct: Available both in the Editor and at runtime, Scene struct contains read-only properties that relate to the scene itself, such as name and asset path.EditorSceneManager
API: This class is only available only in the Editor and has several functions to implement all the Multi-Scene editing features described in the pages Setup multiple scenes and Bake data in multiple scenes.SceneSetup
utility class: A utility class that you can use to store information about a scene that is in the Hierarchy window.When using scripts at runtime to edit multiple scenes, use the functions in the SceneManager
class such as LoadScene
and UnloadScene
.
Tips:
PrefabUtility.InstantiatePrefab
.Undo.MoveGameObjectToScene
.EditorSceneManager.GetSceneManagerSetup
, which also gets a list of SceneSetup objects that describes the current setup. You can serialize the objects into a ScriptableObject
along with any other information you want to store about your scene setup. To restore your Hierarchy window, recreate the list of SceneSetups
and use EditorSceneManager.RestoreSceneManagerSetup
.sceneCount
and iterate over the scenes with GetSceneAt
.