A fast entity component system (ECS) for C & C++

Allow custom storage plugins configurable per component to address performance and usability issues with the current table-based storage, such as stable pointer requirements, fragmentation, and expensive movement of large components.

Currently, iterating over EcsEnum and EcsBitmask constants does not preserve registration order. To improve documentation and code generation, add a vector storing constants in registration order.

The Flecs stats addon and explorer are not multi-threading (MT) safe; values become inaccurate with multiple threads. Enhancements are needed to support per-thread and aggregated statistics, including wall-clock and CPU time measurements, along with explorer integration.

Enable systems to iterate over multiple queries. Currently, systems can only access queries through components, which prevents the scheduler from optimizing read/write operations.

Improves module system usability by correcting module destructor order and enabling parent module imports from child entities.

Repository Information

Languages

C
C++
CMake

Stars

6878

Forks

501