LiteEntitySystem 1.0.1

dotnet add package LiteEntitySystem --version 1.0.1                
NuGet\Install-Package LiteEntitySystem -Version 1.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LiteEntitySystem" Version="1.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LiteEntitySystem --version 1.0.1                
#r "nuget: LiteEntitySystem, 1.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// 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

Made in Ukraine

Discord chat: Discord

Little Game Example on Unity

Documentation

Build

NuGet NuGet NuGet NuGet

Releases GitHub (pre-)release

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.1 57 11/19/2024
1.0.0 76 11/13/2024

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`