OdinSerializer is an open-source serializer built for and used by Odin - Inspector & Serializer, also widely utilized in the Unity community for many popular assets. The serializer compares very well to many popular serialization libraries in terms of performance and garbage allocation, while providing a superior feature-set for use in Unity.
Inherit from one class, and you're ready to serialize anything.
// Inherit from SerializedScriptableObject to use Odin Serializer
// It's that simple!
public class MyScriptableObject : SerializedScriptableObject
{
public Dictionary<int, string> MyDictionary;
}
The serialization debugger shows you what's going on, and why.

Specially designed for use in Unity.
| Odin Serializer | Unity JSON | Full Serializer | Binary Formatter | JSON.NET | Protobuf-net | |
|---|---|---|---|---|---|---|
| Open Source | ||||||
| Cross Platform | ||||||
| Out of the box Unity Support | ||||||
| Supports Unity structs | ||||||
| Binary Format | ||||||
| Json Format | ||||||
| Merge-friendly data in Unity objects | ||||||
| Interfaces | ||||||
| Properties | ||||||
| Polymorphism | ||||||
| Generics | ||||||
| Dictionaries | ||||||
| Circular References | ||||||
| Delegates | ||||||
| Multi-dimensional arrays | ||||||
| Extendable | ||||||
| Renaming Members | ||||||
| Renaming Types | ||||||
| IL Optimized | ||||||
| Supports .NET interfaces | ||||||
| Supports .NET callback attributes |
The performance graphs in this section are all profiled with OdinSerializer's binary format, which is the fastest-performing format used at runtime in builds.



