A minimal archetypal ECS focused on compatibility and performance.
- Zero dependencies
- Minimal ECS core
- Lightweight and fast
- Zero/small memory allocations/footprint
- Struct based Entity/Component
- Entity/Component managed by archetypes and archetypal graph
- Query traverse archetype, No entity cache
- 255 components, unlimited entity, archetype, query, system
- Support Remove component (eg. event) in the end of the world system update
- Adapted to all C# game engine
- Support Web by same framework*
- Support serialzation, network*
struct CompA { public int Value; }
struct CompB { public int Value; }
var world = new World();
world.CreateEntity<CompA, CompB>();
var queryDesc = world.CreateQueryDesc().WithAll<CompA>().WithNone<CompB>().Build();
var query = world.GetQuery(queryDesc);
query.ForEach((int entity, ref CompA compA) =>
{
compA.Value++;
});
world.Dispose();
The software is released under the terms of the MIT license.
- Building an ECS #2: Archetypes and Vectorization
- ECS back and forth Part 2 - Where are my entities?
- Introducing ECSY: an Entity Component System framework for the Web