A high-performance C# serializer with infinitely fast deserialization for .NET, .NET Core, and Unity.
ZeroFormatter is a high-performance binary serializer for C# that provides extremely fast serialization and "infinitely fast" deserialization by using a lazy-evaluation architecture. It allows direct access to serialized data without parsing, making it ideal for performance-sensitive scenarios like games, distributed systems, and microservices.
C# developers working on performance-critical applications such as game development (especially with Unity), distributed computing, microservices, or any scenario requiring fast data serialization and deserialization.
Developers choose ZeroFormatter for its unmatched deserialization speed, clean C#-based schema, and first-class Unity support. It outperforms alternatives like protobuf-net and FlatBuffers in speed while maintaining a simple, strongly-typed API.
Infinitely Fast Deserializer for .NET, .NET Core and Unity.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses lazy-evaluation to allow direct access to serialized buffers without parsing, making deserialization nearly instantaneous for types like IList<T>, as described in the architecture section.
Benchmarks show serialization speeds 2-3x faster than protobuf-net due to optimized binary layout and tuned implementation, avoiding overheads like MemoryStream usage.
Eliminates external IDL files by using C# classes with ZeroFormattable and Index attributes, providing a strongly-typed API that integrates seamlessly with existing code.
Specifically optimized for Unity with IL2CPP, including pre-code generation via zfc.exe and performance surpassing native JsonUtility, as shown in Unity benchmarks.
The README explicitly states no plans for official cross-platform libraries, making it unsuitable for multi-language ecosystems and relying on community ports which may be incomplete.
Requires Windows-only zfc.exe for pre-code generation and manual formatter registration in IL2CPP builds, adding significant build process complexity compared to drop-in serializers.
Mandates virtual properties and specific attributes on classes, which can break existing code patterns and increase refactoring effort for legacy projects.
Fixed-length encoding and header indexes increase binary size compared to variable-length formats like protobuf, a trade-off acknowledged in the README for performance gains.
ZeroFormatter is an open-source alternative to the following products: