About this project
Flecs is a high-performance Entity Component System (ECS) framework designed for C and C++ developers building games and simulations. It provides a fast, lightweight, and portable solution with a zero-dependency C99 API and a modern, type-safe C++17 API that avoids STL containers.
Key features include:
- **Entity Relationships**: Full support for entity relationships, a first for an open-source ECS.
- **Hierarchies and Prefabs**: Native support for scene graphs and reusable entity templates.
- **Performance**: Cache-friendly archetype/SoA storage that can process millions of entities per frame, with a lockless scheduler for multi-core execution.
- **Portability**: Builds in under 5 seconds and runs in the browser via emscripten without modifications.
- **Reflection**: Integrated reflection framework with JSON serialization and runtime component support.
- **Query Language**: Powerful query system with joins and inheritance.
- **Tooling**: Statistics addon for profiling and a web-based UI (Flecs Explorer) for monitoring and control.
Flecs is used in several commercial games, including Tempest Rising and Territory Control 2, and has a community hub (Flecs Hub) with modules for transforms, physics, rendering, and more. Language bindings are available for C#, Rust, Zig, Lua, and Clojure, maintained by community members.
The project is MIT-licensed, actively maintained with over 13,000 tests in CI, and supported by a Discord community.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.