LiteEntitySystem 1.0.1
dotnet add package LiteEntitySystem --version 1.0.1
NuGet\Install-Package LiteEntitySystem -Version 1.0.1
<PackageReference Include="LiteEntitySystem" Version="1.0.1" />
paket add LiteEntitySystem --version 1.0.1
#r "nuget: LiteEntitySystem, 1.0.1"
// Install LiteEntitySystem as a Cake Addin #addin nuget:?package=LiteEntitySystem&version=1.0.1 // Install LiteEntitySystem as a Cake Tool #tool nuget:?package=LiteEntitySystem&version=1.0.1
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
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- K4os.Compression.LZ4 (>= 1.3.6)
- LiteNetLib (>= 1.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Fix possible error in Destroy logic
Store controller actual (on ReadInput) input as variable (HumanControllerLogic.CurrentInput). update docs. Check for HumanControllerLogic instead of ControllerLogic in AddController
Reduce client lerp buffer default size (from 100ms to 50ms) this can be adjusted in ClientEntityManager.PreferredBufferTimeHighest
Fix method name type in `AddSingleton`