Awesome
LiteEntitySystem
Pure C# HighLevel API for multiplayer games using .NET Standard 2.1
Build
NuGet
Releases
Manual installation notices
Please use Roslyn Analyzer (inside AnalyzerBinary) to prevent errors when assigning SyncVars. Only SyncVar.Value can be changed (never do x = new SyncVar())
Features
- .NET Standard 2.1 and pure C# (but with some IL magic)
- Can be used with Unity (2021.2 and later), Godot, Monogame or just pure .net
- Can be used for creation any multiplayer game (2d,3d,4d,...)
- Works with Unity IL2CPP
- Epic speed
- Lag compensation
- Serialization of custom types (like strings,lists,arrays,jsons,etc)
- Synchronized variables (with optional notifications on change)
- Client-side prediction
- Client-side spawn prediction (for projectiles)
- Remote procedure calls (RPC) with compile-time checks
- Client input system
- Basic hierarchy system (childs, parent)
- Controllers and Pawns concept
- Interpolation system
- Delta-compressed state synchronization and input
- LZ4 compression of initial world state
- Also works as game logic engine
- LiteNetLib as default transport, but you can implement any other transport
Dependencies
- LiteNetLib 1.x: https://github.com/RevenantX/LiteNetLib
- LZ4: https://github.com/MiloszKrajewski/K4os.Compression.LZ4