Svelto.ECS
It’s a real Entity-Component-System fully-fledged framework with minimal boilerplate and painless integration with whatever platform, including Unity.
FAQ:
What is Svelto.ECS?
Real Entity-Component-System for c# and Unity (it can be adapted to other c# platforms too). Enables to write encapsulated, uncoupled, highly efficient, data-oriented, cache-friendly, code without pain.
Who is using Svelto?
Svelto is the official framework of Freejam, so it’s extensively used to run Robocraft, Robocraft Infinity, Cardlife and Gamecraft. Please let me know if you use it, as I’d like to be in contact.
Do you offer support for Svelto?
Svelto is open source and offered as it is. Unluckily I don’t have much time to invest on it beside what I need for our projects, but I will be glad to answer your questions as they come. Of course, being open source and hosted on GitHub, feel free to send me pull requests.
OK, but what can I do with it?
I wrote a lot of articles about why ECS is currently the best pattern to use in game development (links at the bottom). Of course, I am not the only one to agree with it, but it’s true that there is great confusion around what ECS is, but mostly about how to implement it, as some inherent problems never had a standard solution. Svelto.ECS works very well within other systems, including Unity. It allows writing clean and efficient code. Svelto.ECS is the perfect solution to write complex projects where the maintainability of the code is essential.
What can I do that I can’t do with Unity already?
- Enables writing uncoupled and encapsulated logic for the entities of your game.
- The rigid infrastructure allows focusing more on the problem than on the code design.
- An intuitive framework, or at least I hope it is once understood the fundamental concepts.
- Designed to be fast and light.
Further Resources:
My blog: http://www.sebaslab.com/
Long dissertation on why ECS is a great pattern:
Github: GitHub - sebas77/Svelto.ECS: Svelto ECS C# Entity Component System
[27/12/20]
Svelto.ECS 3.0 is out: please read more about it here:
https://www.sebaslab.com/whats-new-in-svelto-ecs-3-0/