Nino
Nino is a high-performance binary serialization library for C# that uses source generators for automatic code generation. It delivers fast, memory-efficient serialization with support for complex types, collections, generics, and Unity data types, while offering advanced features like polymorphism handling, versioning, and thread-safe operations with minimal GC pressure.
com.jasonxudeveloper.nino 
Install via UPM
Add to Unity Package Manager using this URL
https://www.pkglnk.dev/nino.git?path=src/Nino.Unity/Packages/com.jasonxudeveloper.nino README Markdown
Copy this to your project's README.md
## Installation
Add **Nino** to your Unity project via Package Manager:
1. Open **Window > Package Manager**
2. Click **+** > **Add package from git URL**
3. Enter:
```
https://www.pkglnk.dev/nino.git?path=src%2FNino.Unity%2FPackages%2Fcom.jasonxudeveloper.nino
```
[](https://www.pkglnk.dev/pkg/nino)README
Nino
Ultimate high-performance binary serialization library for C#
🌐 Official Website • 📚 Documentation • 🚀 Performance • 🇨🇳 中文
Fast, flexible, and effortless C# binary serialization
✨ Why Choose Nino?
🔧 Seamless IntegrationLeverages C# Source Generators for automatic compile-time code generation. Zero manual setup required. |
⚡ Blazing PerformanceEngineered for high-throughput, low-latency scenarios with minimal GC pressure and memory allocation. |
🎮 Unity CompatibleWorks seamlessly with Unity projects and native Unity data types like Vector3 and Quaternion. |
🛠️ Advanced FeaturesHandles complex scenarios like polymorphism, versioning, custom constructors, and private member serialization. |
🎯 Core Features
🚀 Performance & Reliability
- High-Speed Serialization: Consistently ranks among the fastest C# binary serializers
- Low Memory Footprint: Minimal GC pressure and memory allocation
- By-Reference Deserialization: Deserialize directly into existing objects to eliminate allocation overhead
- Thread-Safe Operations: Fully concurrent serialization/deserialization without external locking
- Data Integrity: Built-in type checking ensures data consistency
🧩 Comprehensive Type Support
- Primitives & Built-ins: Full support for all C# primitive types (
int,float,DateTime, etc.) - Modern C# Features:
records,record structs,structs,classes, and generics - Collections: Any
IEnumerable<T>includingList<T>,Dictionary<TKey,TValue>,HashSet<T>,ConcurrentDictionary<TKey,TValue> - Advanced Generics: Complex nested types like
Dictionary<string, List<CustomType[]>> - Value Types:
ValueTuple,Tuple,KeyValuePair<TKey,TValue>,Nullable<T>
🎮 Unity & Cross-Platform
- Unity Native Types:
Vector3,Quaternion,Matrix4x4, and other Unity-specific data types - Cross-Assembly Support: Serialize types across different .NET assemblies and projects
- Platform Agnostic: Works seamlessly across different .NET implementations
⚙️ Advanced Control
- Polymorphism: Interface and abstract class serialization with type preservation
- Custom Constructors:
[NinoConstructor]for immutable types and factory patterns - Versioning & Migration:
[NinoMember]ordering and[NinoFormerName]for backward compatibility - Privacy Control:
[NinoType(true)]to include private/protected members - Selective Serialization:
[NinoIgnore]to exclude specific fields - String Optimization:
[NinoUtf8]for efficient UTF-8 string handling
📖 Quick Start
Installation
Standard .NET Projects:
dotnet add package Nino
Unity Projects (via OpenUPM):
openupm add com.jasonxudeveloper.nino
Basic Usage
[NinoType]
public class GameData
{
public int Score;
public string PlayerName;
public DateTime LastPlayed;
}
// Serialize
var data = new GameData { Score = 1000, PlayerName = "Player1", LastPlayed = DateTime.Now };
byte[] bytes = NinoSerializer.Serialize(data);
// Deserialize
var restored = NinoDeserializer.Deserialize<GameData>(bytes);
📊 Performance
Nino consistently delivers exceptional performance across various scenarios. See detailed benchmarks and comparisons with other popular serialization libraries.
🤝 Community & Support
Made with ❤️ by JasonXuDeveloper
Licensed under MIT License
No comments yet. Be the first!