The PrefabStage class represents an editing context for Prefab Assets.
A stage is an editing context which includes a collection of Scenes. The main stage contains all the currently open regular Scenes, while a Prefab stage contains a preview Scene used solely for editing the Prefab in.
The breadcrumbs which are shown in the Scene view when in Prefab Mode each represent a stage. Those with a Prefab icon represent Prefab stages.
| Property | Description |
|---|---|
| assetPath | The asset path where the Prefab Asset file is stored, relative to the project root. |
| mode | The Prefab Stage can be opened either in isolation or in context. |
| openedFromInstanceObject | A GameObject inside the Prefab instance that you opened Prefab Mode through. |
| openedFromInstanceRoot | The root of the Prefab instance that you opened Prefab Mode through. |
| prefabContentsRoot | The root GameObject of the loaded Prefab Asset contents. |
| Method | Description |
|---|---|
| ClearDirtiness | Clear the dirtyness flag for the Prefab stage. |
| IsPartOfPrefabContents | Returns true if the given GameObject is part of the loaded Prefab Asset contents in the Prefab stage. |
| Event | Description |
|---|---|
| prefabSaved | Callback that is invoked whenever the contents of a Prefab stage has been saved. |
| prefabSaving | Callback that's invoked whenever the contents of a Prefab stage is about to be saved. |
| prefabStageClosing | Callback that's invoked whenever a Prefab stage is about to be opened. |
| prefabStageDirtied | Callback that's invoked whenever a Prefab stage changes from unmodified to modified. |
| prefabStageOpened | Callback that's invoked whenever a Prefab stage has been opened. |
| Property | Description |
|---|---|
| hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
| name | The name of the object. |
| scene | The preview Scene this stage controls. Stage content should be moved into this Scene. |
| stageHandle | See Stage.stageHandle. |
| assetPath | The path of the Asset file associated with the stage, relative to the project root folder. |
| stageHandle | The StageHandle struct for this stage. |
| Method | Description |
|---|---|
| GetInstanceID | Gets the instance ID of the object. |
| ToString | Returns the name of the object. |
| FindComponentOfType | Returns the first active loaded object of the given type. |
| FindComponentsOfType | Returns a list of all active loaded objects of the given type. |
| GetCombinedSceneCullingMaskForCamera | Gets the Scene culling mask from this Stage. |
| Method | Description |
|---|---|
| OnCloseStage | Unity calls this method when the Stage is closed. Classes that inherit from PreviewSceneStage should implement cleanup logic in this method. |
| OnOpenStage | Unity calls this method when the Stage is opened. Classes that inherit from PreviewSceneStage should implement initialization logic in this method. |
| CreateHeaderContent | Creates the header content for this Stage. Both the Hierarchy window header and Scene view breadcrumb bar use this content. |
| GetHashForStateStorage | Unity calls this method to get a hash code that is used to save the state of the Stage to disk. |
| OnCloseStage | Unity calls this method when the Stage is closed. Classes that inherit from Stage should implement cleanup logic in this method. |
| OnDisable | See ScriptableObject.OnDisable. |
| OnEnable | See ScriptableObject.OnEnable. |
| OnFirstTimeOpenStageInSceneView | Unity calls this method the first time a Stage is opened for a specific Asset, for a specific Scene view. |
| OnOpenStage | Unity calls this method when the Stage is opened. Classes that inherit from Stage should implement initialization logic in this method. |
| OnReturnToStage | Unity calls this method when you return to a Stage that is already open. |
| Method | Description |
|---|---|
| Destroy | Removes a GameObject, component or asset. |
| DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
| DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
| FindAnyObjectByType | Retrieves any active loaded object of Type type. |
| FindFirstObjectByType | Retrieves the first active loaded object of Type type. |
| FindObjectOfType | Returns the first active loaded object of Type type. |
| FindObjectsByType | Retrieves a list of all loaded objects of Type type. |
| FindObjectsOfType | Gets a list of all loaded objects of Type type. |
| Instantiate | Clones the object original and returns the clone. |
| CreateInstance | Creates an instance of a scriptable object. |
| Operator | Description |
|---|---|
| bool | Does the object exist? |
| operator != | Compares if two objects refer to a different object. |
| operator == | Compares two object references to see if they refer to the same object. |
| Message | Description |
|---|---|
| Awake | Called when an instance of ScriptableObject is created. |
| OnDestroy | This function is called when the scriptable object will be destroyed. |
| OnDisable | This function is called when the scriptable object goes out of scope. |
| OnEnable | This function is called when the object is loaded. |
| OnValidate | Editor-only function that Unity calls when the script is loaded or a value changes in the Inspector. |
| Reset | Reset to default values. |