{"id":13627243,"url":"https://github.com/jslee02/awesome-entity-component-system","last_synced_at":"2025-04-04T14:06:49.017Z","repository":{"id":45258940,"uuid":"159918826","full_name":"jslee02/awesome-entity-component-system","owner":"jslee02","description":":sunglasses: A curated list of Entity-Component-System (ECS) libraries and resources","archived":false,"fork":false,"pushed_at":"2024-03-08T11:52:37.000Z","size":55,"stargazers_count":496,"open_issues_count":2,"forks_count":48,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-05-23T07:33:05.693Z","etag":null,"topics":["awesome-list","data-oriented-design","ecs","entity-component-system","game-engine"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jslee02.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-12-01T07:08:23.000Z","updated_at":"2024-05-19T21:16:03.000Z","dependencies_parsed_at":"2023-02-15T10:31:57.375Z","dependency_job_id":"a7f29e5d-0212-470b-bc6d-579ae9cbb8db","html_url":"https://github.com/jslee02/awesome-entity-component-system","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jslee02%2Fawesome-entity-component-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jslee02%2Fawesome-entity-component-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jslee02%2Fawesome-entity-component-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jslee02%2Fawesome-entity-component-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jslee02","download_url":"https://codeload.github.com/jslee02/awesome-entity-component-system/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190226,"owners_count":20898699,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome-list","data-oriented-design","ecs","entity-component-system","game-engine"],"created_at":"2024-08-01T22:00:31.850Z","updated_at":"2025-04-04T14:06:48.992Z","avatar_url":"https://github.com/jslee02.png","language":null,"readme":"# awesome-ecs\n:sunglasses: A curated list of Entity-Component-System (ECS) libraries and resources\n\n## ECS Libraries\n\n#### C/C++\n\n* __anax__ - Open source C++ entity system [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/miguelmartin75/anax) ![miguelmartin75/anax](https://img.shields.io/github/stars/miguelmartin75/anax.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __ECS__ - C++ single-header entity component system library [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/redxdev/ECS) ![redxdev/ECS](https://img.shields.io/github/stars/redxdev/ECS.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __ecs.hpp__ - A single header C++14 entity component system library [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/BlackMATov/ecs.hpp) ![BlackMATov/ecs.hpp](https://img.shields.io/github/stars/BlackMATov/ecs.hpp.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __ecst__ - Experimental C++14 multithreaded compile-time entity-compnent-system library [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/SuperV1234/ecst) ![SuperV1234/ecst](https://img.shields.io/github/stars/SuperV1234/ecst.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __EntityFu__ - A simple, fast entity component system written in C++ [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/NatWeiss/EntityFu) ![NatWeiss/EntityFu](https://img.shields.io/github/stars/NatWeiss/EntityFu.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __EntityPlus__ - C++14 entity component system [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/Yelnats321/EntityPlus) ![Yelnats321/EntityPlus](https://img.shields.io/github/stars/Yelnats321/EntityPlus.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __EntityX__ - Fast, type-safe C++ entity component system [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/alecthomas/entityx) ![alecthomas/entityx](https://img.shields.io/github/stars/alecthomas/entityx.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __entt__ - Fast and reliable entity-component system [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/skypjack/entt) ![skypjack/entt](https://img.shields.io/github/stars/skypjack/entt.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Flecs__ - A Multithreaded Entity Component System written for C89 \u0026 C99 [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/SanderMertens/flecs) ![SanderMertens/flecs](https://img.shields.io/github/stars/SanderMertens/flecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Gaia-ECS__ - Fast and type-safe C++17 archetype-based entity component system [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/richardbiely/gaia-ecs) ![richardbiely/gaia-ecs](https://img.shields.io/github/stars/richardbiely/gaia-ecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Ginseng__ - An ESC library designed for use in games [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/apples/ginseng) ![apples/ginseng](https://img.shields.io/github/stars/apples/ginseng.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __goomy__ - A tiny, experimental ECS framework [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/vberlier/goomy) ![vberlier/goomy](https://img.shields.io/github/stars/vberlier/goomy.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Kengine__ - Game engine with an Entity-Component-System (ECS) architecture [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/phisko/kengine) ![phisko/kengine](https://img.shields.io/github/stars/phisko/kengine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __matter__ - C++17/20 ECS implementation [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/Dreyri/matter) ![Dreyri/matter](https://img.shields.io/github/stars/Dreyri/matter.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __mustache__ - A fast, modern C++ entity component system [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/kirillochnev/mustache) ![kirillochnev/mustache](https://img.shields.io/github/stars/kirillochnev/mustache.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __pico_ecs__ - Single-header and cross-platform ECS [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/empyreanx/pico_headers) ![empyreanx/pico_headers](https://img.shields.io/github/stars/empyreanx/pico_headers.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### C#\n\n* __Arch__ - A high-performance Archetype \u0026 Chunks Entity Component System for game development and data-oriented programming [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/genaray/Arch) ![genaray/Arch](https://img.shields.io/github/stars/genaray/Arch.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __DefaultEcs__ - ECS for syntax and usage simplicity with maximum performance [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/Doraku/DefaultEcs) ![Doraku/DefaultEcs](https://img.shields.io/github/stars/Doraku/DefaultEcs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __DragonECS__ - ECS for Unity and .NET [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/DCFApixels/DragonECS) ![DCFApixels/DragonECS](https://img.shields.io/github/stars/DCFApixels/DragonECS.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Entitas__ - The Entity Component System Framework for C# and Unity [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/sschmid/Entitas) ![sschmid/Entitas](https://img.shields.io/github/stars/sschmid/Entitas.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Frent__ - Data oriented ECF with an ECS api for C#, Godot, and Unity [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/itsBuggingMe/Frent) ![sschmid/Entitas](https://img.shields.io/github/stars/itsBuggingMe/Frent.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Friflo Engine ECS__ - ECS for .NET with focus on performance, cache locality and DX [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/friflo/Friflo.Json.Fliox/tree/main/Engine) ![friflo/Friflo.Json.Fliox](https://img.shields.io/github/stars/friflo/Friflo.Json.Fliox.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __LeoEcsLite__ - Lightweight C# Entity Component System framework [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/LeoECSCommunity/ecslite) ![LeoECSCommunity/ecslite](https://img.shields.io/github/stars/LeoECSCommunity/ecslite.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __ME.BECS__ - ECS for Unity with full game state automatic rollbacks [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/chromealex/ME.BECS) ![chromealex/ME.BECS](https://img.shields.io/github/stars/chromealex/ME.BECS.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Morpeh__ - ECS Framework for Unity Game Engine and .NET Platform [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/scellecs/morpeh) ![scellecs/morpeh](https://img.shields.io/github/stars/scellecs/morpeh.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Svelto.ECS__ - Lightweight data oriented entity component system framework [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/sebas77/Svelto.ECS) ![sebas77/Svelto.ECS](https://img.shields.io/github/stars/sebas77/Svelto.ECS.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Fennecs__ - ... the tiny, tiny, high-energy Entity-Component System! [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/outfox/fennecs) ![outfox/fennecs](https://img.shields.io/github/stars/outfox/fennecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __TinyEcs__ - A tiny bevy-like archetype-style ECS library for dotnet [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/andreakarasho/TinyEcs) ![andreakarasho/TinyEcs](https://img.shields.io/github/stars/andreakarasho/TinyEcs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Common Lisp\n\n* __beast__ - Basic Entity/Aspect/System Toolkit [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/sjl/beast) ![sjl/beast](https://img.shields.io/github/stars/sjl/beast.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __cl-ecs__ - An implementation of the Entity-Component-System pattern mostly used in game development [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/bit-phlippers/cl-ecs) ![bit-phlippers/cl-ecs](https://img.shields.io/github/stars/bit-phlippers/cl-ecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __cl-fast-ecs__ - Blazingly fast Entity-Component-System microframework [![GitLab](https://img.shields.io/badge/GitLab-grey)](https://gitlab.com/lockie/cl-fast-ecs) ![lockie/cl-fast-ecs](https://img.shields.io/gitlab/stars/lockie/cl-fast-ecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Dart\n\n* __Fast ECS__ - Simple and fast Entity-Component-System (ECS) library written in Dart. [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/QiXi/fast_ecs) ![QiXi/fast_ecs](https://img.shields.io/github/stars/QiXi/fast_ecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Elixir\n\n* __ECSx__ - An ECS framework for Elixir [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/ecsx-framework/ECSx) ![ecsx-framework/ECSx](https://img.shields.io/github/stars/ecsx-framework/ECSx.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Python\n\n* __esper__ - A lightweight Entity System for Python [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/benmoran56/esper) ![benmoran56/esper](https://img.shields.io/github/stars/benmoran56/esper.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Rust\n\n* __shipyard__ - Entity Component System written in Rust [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/leudz/shipyard) ![leudz/shipyard](https://img.shields.io/github/stars/leudz/shipyard.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __specs__ - Parallel entity component system written in Rust [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/slide-rs/specs) ![slide-rs/specs](https://img.shields.io/github/stars/slide-rs/specs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __legion__ - High performance Rust ECS library [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/amethyst/legion) ![amethyst/legion](https://img.shields.io/github/stars/amethyst/legion.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __bevy_ecs__ - Simple to use, ergonomic, fast, massively parallel, opinionated, and featureful written in Rust [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/bevyengine/bevy/tree/main/crates/bevy_ecs) ![bevyengine/bevy](https://img.shields.io/github/stars/bevyengine/bevy.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __hecs__ - High-performance, minimalist entity-component-system [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/Ralith/hecs) ![Ralith/hecs](https://img.shields.io/github/stars/Ralith/hecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Go\n\n* __Arche__ - An archetype-based Entity Component System for Go [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/mlange-42/arche) ![mlange-42/arche](https://img.shields.io/github/stars/mlange-42/arche.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __ecs__ - A Go-implementation of the Entity-Component-System paradigm [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/EngoEngine/ecs) ![EngoEngine/ecs](https://img.shields.io/github/stars/EngoEngine/ecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Lua\n\n* __Concord__ - A feature-complete ECS library [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/Keyslam-Group/Concord) ![Keyslam-Group/Concord](https://img.shields.io/github/stars/Keyslam-Group/Concord.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __ECS Lua__ - A fast and easy to use ECS engine for game development [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/nidorx/ecs-lua) ![nidorx/ecs-lua](https://img.shields.io/github/stars/nidorx/ecs-lua.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Nata__ - Entity management for Lua [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/tesselode/nata) ![tesselode/nata](https://img.shields.io/github/stars/tesselode/nata.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __tiny-ecs__ - Entity Component System for Lua that's simple, flexible, and useful [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/bakpakin/tiny-ecs) ![bakpakin/tiny-ecs](https://img.shields.io/github/stars/bakpakin/tiny-ecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Java\n\n* __Artemis-odb__ - A continuation of the popular Artemis ECS framework [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/junkdog/artemis-odb) ![junkdog/artemis-odb](https://img.shields.io/github/stars/junkdog/artemis-odb.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Kotlin\n\n* __Fleks__ -  Fast, lightweight, multi-platform entity component system in Kotlin [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/Quillraven/Fleks) ![Quillraven/Fleks](https://img.shields.io/github/stars/Quillraven/Fleks.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### JavaScript / Typescript\n\n* __becsy__ - A multithreaded Entity Component System (ECS) for TypeScript and JavaScript, inspired by ECSY and bitecs. [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/LastOliveGames/becsy) ![bitecs](https://img.shields.io/github/stars/LastOliveGames/becsy.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __bitECS__ - Functional, minimal, data-oriented, ultra-high performance ECS library [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/NateTheGreatt/bitECS) ![bitecs](https://img.shields.io/github/stars/NateTheGreatt/bitecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __ECSY__ - Entity Component System for javascript [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/ecsyjs/ecsy) ![ecsyjs/ecsy](https://img.shields.io/github/stars/ecsyjs/ecsy.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __miniplex__ - The gentle game entity manager, focused on ease of use and developer experience. [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/hmans/miniplex) ![miniplex](https://img.shields.io/github/stars/hmans/miniplex.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Thyseus__ - An archetypal Entity Component System, built entirely in Typescript [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/JaimeGensler/thyseus) ![miniplex](https://img.shields.io/github/stars/JaimeGensler/thyseus.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Zig\n\n* __mach-ecs__ - Entity Component System from first-principles designed for Zig [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/hexops/mach-ecs) ![hexops/mach-ecs](https://img.shields.io/github/stars/hexops/mach-ecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Zig ECS__ - A Zig port of the fantasic Entt [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/prime31/zig-ecs) ![prime31/zig-ecs](https://img.shields.io/github/stars/prime31/zig-ecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Haskell\n\n* __apecs__ - A fast, extensible, type driven Haskell ECS framework for games [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/jonascarpay/apecs) ![jonascarpay/apecs](https://img.shields.io/github/stars/jonascarpay/apecs.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n## Applications powered by ECS\n\n### Game Engines\n\n#### C++\n\n* __crown__ - General purpose data-driven game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/dbartolini/crown) ![dbartolini/crown](https://img.shields.io/github/stars/dbartolini/crown.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Engine__ - Basic cross-platform 3D game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/Shervanator/Engine) ![Shervanator/Engine](https://img.shields.io/github/stars/Shervanator/Engine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __halley__ - A lightweight game engine written in modern C++ [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/amzeratul/halley) ![amzeratul/halley](https://img.shields.io/github/stars/amzeratul/halley.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __igneous__ - Open source game engine written in C++ [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/MissingBitStudios/igneous) ![MissingBitStudios/igneous](https://img.shields.io/github/stars/MissingBitStudios/igneous.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __kengine__ - Game engine focused on ease-of-use, runtime extensibility and compile-time type safety [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/phisko/kengine) ![phisko/kengine](https://img.shields.io/github/stars/phisko/kengine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Lina Engine__ - Modular, tiny and fast C++ game engine, aimed to develop 3D desktop games [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/inanevin/LinaEngine) ![inanevin/LinaEngine](https://img.shields.io/github/stars/inanevin/LinaEngine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Lumos__ - Cross-Platform C++ 2D/3D game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/jmorton06/Lumos) ![jmorton06/Lumos](https://img.shields.io/github/stars/jmorton06/Lumos.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __MxEngine__ - C++ open source 3D game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/asc-community/MxEngine) ![asc-community/MxEngine](https://img.shields.io/github/stars/asc-community/MxEngine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __nebula__ - Open-source and free-to-use modern C++ game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/gscept/nebula) ![gscept/nebula](https://img.shields.io/github/stars/gscept/nebula.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Nazara Engine__ - Cross-platform framework aimed at real-time applications requiring audio, 2D and 3D real-time rendering, network and more [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/NazaraEngine/NazaraEngine) ![NazaraEngine/NazaraEngine](https://img.shields.io/github/stars/NazaraEngine/NazaraEngine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __shiva__ - Modern Cross-Platform C++ Engine with modularity [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/Milerius/shiva) ![Milerius/shiva](https://img.shields.io/github/stars/Milerius/shiva.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Sparky__ - Cross-Platform High Performance 2D/3D game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/TheCherno/Sparky) ![TheCherno/Sparky](https://img.shields.io/github/stars/TheCherno/Sparky.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __supernova__ - Game engine for 2D and 3D projects with ECS and data-oriented design [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/supernovaengine/supernova) ![supernovaengine/supernova](https://img.shields.io/github/stars/supernovaengine/supernova.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Usagi__ - Hierarchical component entity system based game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/vitei/Usagi) ![vitei/Usagi](https://img.shields.io/github/stars/vitei/Usagi.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Lumos__ - Cross-Platform C++ 2D/3D game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/jmorton06/Lumos) ![jmorton06/Lumos](https://img.shields.io/github/stars/jmorton06/Lumos.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __supernova__ - Game engine for 2D and 3D projects with ECS and data-oriented design [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/supernovaengine/supernova) ![supernovaengine/supernova](https://img.shields.io/github/stars/supernovaengine/supernova.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __kengine__ - Game engine focused on ease-of-use, runtime extensibility and compile-time type safety [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/phisko/kengine) ![phisko/kengine](https://img.shields.io/github/stars/phisko/kengine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __MxEngine__ - C++ open source 3D game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/asc-community/MxEngine) ![asc-community/MxEngine](https://img.shields.io/github/stars/asc-community/MxEngine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __nebula__ - Open-source and free-to-use modern C++ game engine [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/gscept/nebula) ![gscept/nebula](https://img.shields.io/github/stars/gscept/nebula.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __halley__ - A lightweight game engine written in modern C++ [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/amzeratul/halley) ![amzeratul/halley](https://img.shields.io/github/stars/amzeratul/halley.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Nazara Engine__ - Cross-platform framework aimed at real-time applications requiring audio, 2D and 3D real-time rendering, network and more [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/NazaraEngine/NazaraEngine) ![NazaraEngine/NazaraEngine](https://img.shields.io/github/stars/NazaraEngine/NazaraEngine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Lina Engine__ - Modular, tiny and fast C++ game engine, aimed to develop 3D desktop games [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/inanevin/LinaEngine) ![inanevin/LinaEngine](https://img.shields.io/github/stars/inanevin/LinaEngine.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Go\n\n* __Engo__ - A cross-platform game engine written in Go following an interpretation of the Entity Component System paradigm [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/EngoEngine/engo) ![EngoEngine/engo](https://img.shields.io/github/stars/EngoEngine/engo.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Rust\n\n* __Ambient__ - The multiplayer game engine  [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/AmbientRun/Ambient) ![dbartolini/crown](https://img.shields.io/github/stars/AmbientRun/Ambient.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Amethyst__ - Data-oriented and data-driven game engine written in Rust [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/amethyst/amethyst) ![amethyst/amethyst](https://img.shields.io/github/stars/amethyst/amethyst.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Bevy__ - A refreshingly simple data-driven game engine built in Rust [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/bevyengine/bevy) ![bevyengine/bevy](https://img.shields.io/github/stars/bevyengine/bevy.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __Bones__ - An easy-to-use game engine for making real games [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/fishfolk/bones) ![fishfolk/bones](https://img.shields.io/github/stars/fishfolk/bones.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n#### Zig\n\n* __mach__ - Game engine \u0026 graphics toolkit for building high-performance, truly cross-platform, robust \u0026 modular games, visualizations, and desktop/mobile GUI apps [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/hexops/mach) ![hexops/mach](https://img.shields.io/github/stars/hexops/mach.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n### Graphics Engines\n\n#### C++\n\n* __bs::framework__ - Modern C++14 library for the development of real-time graphical applications [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/GameFoundry/bsf) ![GameFoundry/bsf](https://img.shields.io/github/stars/GameFoundry/bsf.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n* __The Forge__ - Cross-Platform Rendering Framework with support for PC Windows, Linux, Ray Tracing, macOS/iOS, Android, XBOX, PS4, PS5, Switch, Quest 2 [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/ConfettiFX/The-Forge) ![ConfettiFX/The-Forge](https://img.shields.io/github/stars/ConfettiFX/The-Forge.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n### Physics libraries\n\n#### C++\n\n* __edyn__ - A real-time physics engine organized as an ECS [![GitHub](https://img.shields.io/badge/GitHub-grey)](https://github.com/xissburg/edyn) ![xissburg/edyn](https://img.shields.io/github/stars/xissburg/edyn.svg?style=flat\u0026label=Star\u0026maxAge=86400)\n\n## Other Resources\n\n### Benchmarks\n\n* [ecs_benchmark](https://github.com/abeimler/ecs_benchmark): Benchmarks of common ECS (Entity-Component-System)-Frameworks in C/C++\n* [ECS C# Benchmark](https://github.com/Doraku/Ecs.CSharp.Benchmark): Benchmarks of the main ECS Frameworks for: C#\n* [ECS C# Benchmark - Common uses-cases](https://github.com/friflo/ECS.CSharp.Benchmark-common-use-cases): Benchmark many common use cases in the simplest and most performant variant\n* [CSharpECSComparison](https://github.com/Chillu1/CSharpECSComparison): Benchmarks of common ECS Frameworks for C#\n* [Lua ECS Library Benchmark](https://github.com/jeffzi/lua-ecs-benchmark): Benchmarks of common ECS Frameworks in Lua\n\n### Blog Posts\n\n* [Data-oriented design](http://gamesfromwithin.com/category/data-oriented-design)\n* [ECS back and forth](https://skypjack.github.io/2019-02-14-ecs-baf-part-1/)\n* [Let's build an Entity Component System from scratch](https://devlog.hexops.com/2022/lets-build-ecs-part-1/)\n* [Entity Systems are the future of MMOG development](https://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/)\n* [Building an ECS](https://ajmmertens.medium.com/building-an-ecs-1-where-are-my-entities-and-components-63d07c7da742)\n* [Systems Interaction in Entity-Component-System (events)](https://medium.com/@ben.rasooli/systems-interaction-in-entity-component-system-events-4a050153c8ac)\n* [Overview of ECS variants \u0026 definitions](https://gist.github.com/LearnCocos2D/77f0ced228292676689f)\n* [Understand data-oriented design](https://learn.unity.com/tutorial/part-1-understand-data-oriented-design)\n* [Unity ECS series](https://gametorrahod.com/tag/unity-ecs/)\n* [Seba's Lab](https://www.sebaslab.com/)\n\n### Talks \u0026 Slides\n\n* [itCppCon19: ECS back and forth](https://youtu.be/WB5bRKKGRUk)\n* [GDC 2018: Unity at GDC - A Data Oriented Approach to Using Component Systems](https://youtu.be/p65Yt20pw0g)\n* [Meeting C++ 2018: Data oriented design in practice](https://youtu.be/NWMx1Q66c14)\n* [CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”](https://youtu.be/yy8jQgmhbAU)\n* [Data Oriented Design Resources](http://aras-p.info/texts/files/2018Academy%20-%20ECS-DoD.pdf)\n* [Data Oriented GUI in Rust](https://www.youtube.com/watch?v=4YTfxresvS8)\n* [Is There More to Game Architecture than ECS](https://www.youtube.com/watch?v=JxI3Eu5DPwE) - Bob Nystrom (Roguelike Celebration 2018)\n* [Unite 2018: C# Job System + ECS usage and demo with Intel](https://www.youtube.com/watch?v=fp1D45hhVEM)\n* [Codestar 2018 ECS - A Different Approach to Game Development](https://www.youtube.com/watch?v=lt4eL4RSx7k)\n* [CppCon 2014: Mike Acton \"Data-Oriented Design and C++\"](https://youtu.be/rX0ItVEVjHc))\n\n### Books\n\n* [Data-Oriented Design](http://www.dataorienteddesign.com/dodbook/)\n\n### Tutorials\n\n* [Starting a new 2D platformer with ECS](https://www.youtube.com/playlist?list=PLWtPciJ1UMuAoCq8NAw8J-n387U4QHFBW)\n\n### Lists\n\n* [Entity Component System \u0026 Data Oriented Design](https://github.com/dbartolini/data-oriented-design)\n\n### ETC\n\n* [Entity Systems Wiki](http://entity-systems.wikidot.com/)\n* [Entity Component Systems FAQ](https://github.com/SanderMertens/ecs-faq)\n","funding_links":[],"categories":["ECS Libraries","Related Lists","Other (Awesome) lists","Other Lists","Awesome"],"sub_categories":["Engineering in Organization","Courses","TeX Lists"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjslee02%2Fawesome-entity-component-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjslee02%2Fawesome-entity-component-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjslee02%2Fawesome-entity-component-system/lists"}