Instance override values are stored as data in the sceneA 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 or prefabAn asset type that allows you to store a GameObject complete with components and properties. The prefab acts as a template from which you can create new object instances in the scene. More info
See in Glossary in which they are defined. However, an override becomes “unused” if its target object is either invalid or its Property Path is unknown. In this case, the data becomes unused. It is still stored in the scene file, but is redundant.
For example, if you override the values of a public field on a script attached to a prefab, and then delete the script, the data that contains the override values becomes unused because it targets an object that no longer exists.
Override data also becomes unused if you delete the public field definition, or rename it, because the Property Path no longer matches the stored data, although the component object itself still exists.
Because Unity does not automatically delete unused override data, if you restore the deleted script, or field definition, the override data becomes used again and is applied as an override as before.
If you do not want to keep unused override data, you can check for and remove them using the Overrides menu in the inspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary, or from the context menu in the Hierarchy window. The removal includes all unused overrides, and Unity writes details of what was removed to the Editor log.
The Unity Editor can’t automatically determine when or whether your unused data should be cleaned up, because you may have temporarily or accidentally moved the object or property the data refers to, and you might reinstate it later. Removing unused override data that you know you no longer need can be thought of as good practice, because it means your scene file only contains useful data, which can help make version controlA system for managing file changes. You can use Unity in conjunction with most common version control tools, including Perforce, Git, Mercurial and PlasticSCM. More info
See in Glossary and collaboration simpler.
Note: You can rename public fields and preserve the associated overridden values by using FormerlySerializedAsAttribute, which performs name conversion to map the field’s old name to its new name.
To check for and remove unused overrides using the Inspector:
Note: The unused overrides panel supports multiple selection, and shows the total number of unused overrides, and the number of instances affected, however it only shows the field name, GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary name, and value, of up to three of the unused overrides, as shown in the example below:
To check for and remove unused instance overrides from the Hierarchy window:
Note: You can remove all unused overrides in an entire scene by right-clicking the scene’s name in the hierarchy instead of individual GameObjects.