High-performance frameworks for managing game object data and logic using entity component system architectures.
Entitas-CSharp is a data-oriented architectural framework for managing application state and logic in C# and Unity environments. It implements the Entity Component System pattern to separate raw data components from the logic systems that process them. The framework includes a code generator that automatically produces type-safe boilerplate classes and methods at build time. It also provides a visual state inspector for examining entities and components in real time within the Unity editor. The library covers data-oriented programming and game state debugging, utilizing a memory-efficient ap
This library is a comprehensive implementation of the Entity Component System pattern for C# and Unity, featuring robust data-oriented storage, system scheduling, and reactive observers.
Entitas is a data-oriented Entity Component System framework for Unity. It is designed to separate game state into components and logic into systems, utilizing a data-oriented design to optimize CPU cache usage, memory usage, and processing speed. The framework includes a C# source code generator that automatically produces boilerplate classes, entity accessors, and context singletons to reduce manual coding. It also provides a Unity editor debugging tool for real-time runtime state visualization, system performance monitoring, and visual entity inspection. The system manages entity lifecycl
Entitas is a comprehensive ECS framework for C# and Unity that provides the full suite of required features, including data-oriented storage, system scheduling, and reactive observers for efficient game state management.
EnTT is a C++ library designed for data-oriented design and entity component system architecture. It provides a framework for managing game objects and simulation states by separating entity data from logic, allowing for the efficient organization and manipulation of large collections of related data objects. The library utilizes sparse sets to store entities and components in contiguous memory, which facilitates cache-friendly iteration and constant-time lookups. It employs template metaprogramming for compile-time type reflection and type-erasure techniques to provide a unified interface fo
EnTT is a high-performance, header-only C++ library that provides a comprehensive implementation of the Entity Component System pattern, featuring cache-friendly sparse set storage, a robust query API, and reactive observers for system logic.
Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a simulation engine core and game engine architecture tool, decoupling state from behavior by separating entities, components, and systems. The framework features a runtime reflection layer for dynamic data inspection and a built-in scripting system for defining entity behavior without recompilation. It also includes a network interface and REST API for remote simulation administration and state querying. The library covers a broad surface of simulation capabilities, including ar
Flecs is a comprehensive, high-performance ECS framework that provides all the requested features, including archetype-based storage, advanced system scheduling, and a robust query API with reactive observers.
Bevy is a cross-platform game engine and framework built in Rust, designed for creating interactive simulations and graphical applications. It utilizes a data-oriented entity-component-system architecture to manage game state, organizing data into contiguous memory blocks to facilitate high-performance processing and massive parallelization of entities. The engine distinguishes itself through a modular plugin architecture and a system-based task scheduler that automatically parallelizes logic by analyzing data access patterns. By employing reactive change detection and deferred command buffer
Bevy is a comprehensive game engine built entirely around a high-performance, data-oriented ECS architecture that natively includes system scheduling, reactive change detection, and efficient component storage.
Fyrox is a Rust-based game engine for building both 2D and 3D games, designed as a native engine with no runtime dependencies. It compiles directly to native code for Windows, macOS, Linux, and WebAssembly, providing direct hardware access through the Rust programming language. The engine is built around an entity-component-system architecture that organizes game objects as entities with attached components processed by modular systems. Its graph-based scene management represents game scenes as directed acyclic graphs of nodes with transform hierarchies and property inheritance, while a paral
Fyrox is a full-featured game engine built on an entity-component-system architecture, providing the data-oriented design and system scheduling you need, though it is a complete engine rather than a standalone library.
Murder is an entity component system game engine designed for 2D game development. It provides a core framework for managing game objects through an ECS architecture and includes a dedicated 2D game editor for asset management and real-time property configuration. The engine features a specialized 2D rendering pipeline supporting pixel art, sprite slicing, and parallax effects. It includes a hierarchical A* pathfinding system for agent navigation and a comprehensive asset management system for serializing and loading game resources. The project covers a broad range of capabilities, including
Murder is a full-featured 2D game engine built on an Entity Component System architecture, providing the core ECS patterns and system management required for game state and logic.
Piccolo is a mini game engine designed for building small-scale games with cross-platform support. It compiles and runs on Windows, macOS, and Linux from a unified codebase, and includes an editor integration for live editing and debugging. The engine uses a component-based entity system with data-oriented design, storing component data in contiguous arrays for cache-friendly iteration. It features a fixed timestep game loop that decouples simulation updates from rendering frame rate, and provides a physics debug overlay that renders visual shapes from simulation data synchronized with the ed
This is a full-featured game engine that includes an entity-component system as an internal architectural detail, rather than a standalone library designed for integration into other projects.