LiteEntitySystem

LiteEntitySystem (LES) provides a high-level framework for multiplayer game entities with built-in networking via LiteNetLib (custom transports supported).

In a typical setup the server manages the authoritative game state using a ServerEntityManager, while each client maintains a local mirror of the game world via a ClientEntityManager.

The game logic is implemented in custom entity classes based on:

  • EntityLogic - for most simple entities like weapons, grenades, usable objects, doors, etc
  • PawnLogic for player-controlled entities like PlayerEntity that has position, health, money, etc
  • HumanControllerLogic<TInput> for player controllers that generate input and also make Client->Server requests
  • AiControllerLogic for AI controllers

Usefull articles to read

Client update flow

Server update flow

API documentation