# Script serialization

> Details of how Unity transforms your scripted data structures and object states into a serialized format for storage or reconstruction later on, and how this affects your application performance.

**Serialization** is the automatic process of transforming data structures or GameObject states into a format that Unity can store and reconstruct later.

How you organize data in your Unity project affects how Unity serializes that data, which can have a significant impact on the performance of your project. This page outlines serialization in Unity and how to optimize your project for it.

| **Topic**                                                                                                                          | **Description**                                                            |
| ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| [Serialization rules](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/rules.md)                   | Conditions that determine whether fields in your scripts are serialized.   |
| [Custom serialization](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/custom-serialization.md)   | How to serialize additional items not supported by Unity's serializer.     |
| [How Unity uses serialization](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/how-unity-uses.md) | More details about how serialization works in Unity.                       |
| [JSON Serialization](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/json-serialization.md)       | Convert Unity objects to and from JSON format using the JsonUtility class. |
| [Serialization best practices](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/best-practices.md) | Best practices for serialization.                                          |

## Additional resources

* [Script compilation](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation.md)
* [Scripting back ends](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/backends.md)
* [Code reload in the Editor](/engine/6000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor.md)
