# Prefabs

> Create reusable GameObject templates to use across your projects.

Unity's prefab system allows you to create, configure, and store a GameObject complete with all its components, property values, and child GameObjects as a reusable asset. The prefab asset acts as a template from which you can create new prefab instances in the Scene.

| **Topic**                                                                                                                                | **Description**                                                                             |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| **[Introduction to prefabs](/engine/6000.7/manual/working-with-gameobjects/prefabs/introduction.md)**                                    | Understand what prefabs are and when to use them.                                           |
| **[Create prefabs](/engine/6000.7/manual/working-with-gameobjects/prefabs/creating.md)**                                                 | Create prefab assets in the Unity Editor.                                                   |
| **[Edit prefabs assets](/engine/6000.7/manual/working-with-gameobjects/prefabs/editing-in-prefab-mode.md)**                              | Edit prefabs in prefab editing mode.                                                        |
| **[Nest prefab instances in other prefabs](/engine/6000.7/manual/working-with-gameobjects/prefabs/nested.md)**                           | Include prefab instances inside other prefabs.                                              |
| **[Create variations of prefabs](/engine/6000.7/manual/working-with-gameobjects/prefabs/prefab-variants.md)**                            | Create a set of predefined variations of a prefab.                                          |
| **[Overriding prefab instance data](/engine/6000.7/manual/working-with-gameobjects/prefabs/override.md)**                                | Override components, data, and GameObjects on prefab instances.                             |
| **[Revert a prefab instance to a GameObject](/engine/6000.7/manual/working-with-gameobjects/prefabs/unpacking-prefab-instances.md)**     | Unpack a prefab instance to revert the contents of a prefab instance back into a GameObject |
| **[Instantiating prefabs at runtime](/engine/6000.7/manual/working-with-gameobjects/prefabs/instantiating.md)**                          | Instantiate prefabs from your C# runtime application code.                                  |
| **[Prefab instance Inspector reference](/engine/6000.7/manual/working-with-gameobjects/prefabs/prefab-instance-inspector-reference.md)** | Reference for the prefab instance Inspector.                                                |

## Additional resources

* [GameObject fundamentals](/engine/6000.7/manual/working-with-gameobjects/gameobject-fundamentals.md)
* [`PrefabUtility` API reference](/engine/6000.7/script-reference/unityeditor/prefabutility.md)
