# Thread safe types

> Understand thread safe types, such as NativeContainer objects.

The job system works best when you use it with the [Burst compiler](/engine/6000.7/manual/scripting/compilation-and-code-reload/script-compilation/burst.md). Because Burst doesn’t support managed objects, you need to use unmanaged types to access the data in jobs. You can do this with [blittable types](https://learn.microsoft.com/en-us/dotnet/framework/interop/blittable-and-non-blittable-types), or use Unity’s built-in [`NativeContainer`](xref:Unity.Collections.LowLevel.Unsafe.NativeContainerAttribute) objects.

| **Topic**                                                                                                                                     | **Description**                                                |
| --------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| [Introduction to NativeContainer](/engine/6000.7/manual/scripting/optimization/job-system/thread-safe-types/native-container.md)              | Understand Unity's custom thread-safe type, `NativeContainer`. |
| [Implement a custom NativeContainer](/engine/6000.7/manual/scripting/optimization/job-system/thread-safe-types/custom-nativecontainer.md)     | Implement custom native containers.                            |
| [Copying NativeContainer structures](/engine/6000.7/manual/scripting/optimization/job-system/thread-safe-types/copy-nativecontainer.md)       | Copy and reference multiple native containers.                 |
| [Custom NativeContainer example](/engine/6000.7/manual/scripting/optimization/job-system/thread-safe-types/custom-nativecontainer-example.md) | Use a real world custom NativeContainer example.               |

## Additional resources

* [Burst compiler](/engine/6000.7/manual/scripting/compilation-and-code-reload/script-compilation/burst.md)
* [Collections](https://docs.unity3d.com/Packages/com.unity.collections@latest)
