# Memory in Unity

> Manage and optimize memory usage in Unity applications.

To ensure your application runs with no performance issues, it’s important to understand how Unity uses and allocates memory.

| **Topic**                                                                                         | **Description**                                                                |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **[Memory in Unity introduction](/engine/6000.3/manual/analysis/performance-memory/overview.md)** | Understand the different ways that Unity manages memory.                       |
| **[Managed memory](/engine/6000.3/manual/analysis/performance-memory/managed-memory.md)**         | Automatically manage the release and allocation of memory in your application. |
| **[Native memory](/engine/6000.3/manual/analysis/performance-memory/native-memory.md)**           | Understand how Unity controls memory in its native C++ layer.                  |
| **[C# unmanaged memory](/engine/6000.3/manual/analysis/performance-memory/unmanaged-memory.md)**  | Control how memory is allocated to native containers.                          |

## Additional resources

* [Memory Profiler package](https://docs.unity3d.com/Packages/com.unity.memoryprofiler@latest)
* [Memory Profiler module](/engine/6000.3/manual/analysis/profiler/visualizing-data/memory.md)
* [Job system overview](/engine/6000.3/manual/scripting/optimization/job-system.md)
