Skip to content

Unique Svelto ECS features

Sebastiano Mandalà edited this page May 5, 2019 · 4 revisions

Svelto.ECS comes packed with several unique features that are not found on other ECS implementation. The caveat is to not abuse these features, as before starting to use them, the question to ask is: "what would have I done it with a standard ECS implementation?".

Usually standard ECS implementations don't have any form of communication between Systems others than polling data from entities and the entities themselves can be accessed only through an array.

Knowing so the unique features of Svelto are:

  • The abstraction from underlying OOP platforms through the use of EntityViewStruct, Implementor, DispatchOnSet and DispatchOnChange
  • The ExclusiveGroups and their use as entity states
  • the reactive engines through the add, remove, moveFrom and MoveTo entity callback in the engines
  • the reactive engines through the use of EntityStreams
  • the Sequencer
  • Being able to query entities per index and per group

if you use them wisely, they will be valuable tools to write powerful code, but if abused, could turn your code in spaghetti code again.