Skip to the content.

Awesome ECS

Awesome

A curated list of Entity-Component-System (ECS) libraries and resources.

Contents

Legend: 🟢 commit within 1 yr · 🟡 commit within 3 yr · 💀 archived · ⭐ GitHub stars as of 2026-10-12. Software entries are ordered by stars; inactive entries (archived, or no commits for 3+ years) are folded at the end of each software category. Other resources keep their existing order.

ECS Libraries

Libraries and frameworks implementing the Entity-Component-System pattern.

C/C++

C#

Common Lisp

Elixir

Python

Rust

Go

Lua

Julia

Kotlin

JavaScript / TypeScript

Zig

Haskell

Inactive (22): archived or no commits for 3+ years</summary>

  • Entitas - The Entity Component System Framework for C# and Unity. ⭐ 7.7k · last commit 2023
  • legion - High performance Rust ECS library. ⭐ 1.7k · last commit 2021
  • 💀 ECSY - Entity Component System for javascript. ⭐ 1.2k · last commit 2025
  • Artemis-odb - A continuation of the popular Artemis ECS framework. ⭐ 832 · last commit 2021
  • tiny-ecs - Entity Component System for Lua that’s simple, flexible, and useful. ⭐ 789 · last commit 2020
  • DefaultEcs - ECS for syntax and usage simplicity with maximum performance. ⭐ 765 · last commit 2023
  • Kengine - Game engine with an Entity-Component-System (ECS) architecture. ⭐ 618 · last commit 2023
  • ecst - Experimental C++14 multithreaded compile-time entity-compnent-system library. ⭐ 490 · last commit 2018
  • 💀 ECS - C++ single-header entity component system library. ⭐ 481 · last commit 2019
  • 💀 anax - Open source C++ entity system. ⭐ 460 · last commit 2021
  • ECS Lua - A fast and easy to use ECS engine for game development. ⭐ 234 · last commit 2021
  • EntityPlus - C++14 entity component system. ⭐ 192 · last commit 2020
  • EntityFu - A simple, fast entity component system written in C++. ⭐ 86 · last commit 2016
  • LeoEcsLite - Lightweight C# Entity Component System framework. ⭐ 62 · last commit 2022
  • Ginseng - An ESC library designed for use in games. ⭐ 56 · last commit 2021
  • Nata - Entity management for Lua. ⭐ 51 · last commit 2020
  • ecs.hpp - A single header C++14 entity component system library. ⭐ 41 · last commit 2023
  • beast - Basic Entity/Aspect/System Toolkit. ⭐ 30 · last commit 2021
  • matter - C++17/20 ECS implementation. ⭐ 21 · last commit 2019
  • Fast ECS - Simple and fast Entity-Component-System (ECS) library written in Dart. ⭐ 17 · last commit 2021
  • goomy - A tiny, experimental ECS framework. ⭐ 14 · last commit 2019
  • cl-ecs - An implementation of the Entity-Component-System pattern mostly used in game development. ⭐ 8 · last commit 2016

</details>

Applications powered by ECS

Game Engines

Game engines built on ECS architecture.

C++

  • 🟢 WickedEngine - 3D engine with modern graphics. ⭐ 7.3k
  • 🟢 halley - A lightweight game engine written in modern C++. ⭐ 3.9k
  • 🟢 Lumos - Cross-Platform C++ 2D/3D game engine. ⭐ 1.6k
  • 🟡 MxEngine - C++ open source 3D game engine. ⭐ 1.2k
  • 🟢 nebula - Open-source and free-to-use modern C++ game engine. ⭐ 1.1k
  • 🟡 Lina Engine - Modular, tiny and fast C++ game engine, aimed to develop 3D desktop games. ⭐ 899
  • 🟢 supernova - Game engine for 2D and 3D projects with ECS and data-oriented design. ⭐ 866
  • 🟢 Nazara Engine - Cross-platform framework aimed at real-time applications requiring audio, 2D and 3D real-time rendering, network and more. ⭐ 843
  • 🟢 crown - General purpose data-driven game engine. ⭐ 30

Go

  • 🟡 Engo - A cross-platform game engine written in Go following an interpretation of the Entity Component System paradigm. ⭐ 1.8k

Rust

  • 🟢 Bevy - A refreshingly simple data-driven game engine built in Rust. ⭐ 48.9k
  • 🟡 Ambient - The multiplayer game engine. ⭐ 3.9k
  • 🟢 Bones - An easy-to-use game engine for making real games. ⭐ 314

Zig

  • 🟢 mach - Game engine & graphics toolkit for building high-performance, truly cross-platform, robust & modular games, visualizations, and desktop/mobile GUI apps. ⭐ 4.8k

Inactive (7): archived or no commits for 3+ years</summary>

  • 💀 Amethyst - Data-oriented and data-driven game engine written in Rust. ⭐ 8k · last commit 2021
  • Sparky - Cross-Platform High Performance 2D/3D game engine. ⭐ 1.2k · last commit 2016
  • kengine - Game engine focused on ease-of-use, runtime extensibility and compile-time type safety. ⭐ 618 · last commit 2023
  • Engine - Basic cross-platform 3D game engine. ⭐ 301 · last commit 2018
  • 💀 shiva - Modern Cross-Platform C++ Engine with modularity. ⭐ 160 · last commit 2019
  • Usagi - Hierarchical component entity system based game engine. ⭐ 57 · last commit 2022
  • igneous - Open source game engine written in C++. ⭐ 52 · last commit 2019

</details>

Graphics Engines

Graphics and rendering engines using ECS.

C++

  • 🟢 The Forge - Cross-Platform Rendering Framework with support for PC Windows, Linux, Ray Tracing, macOS/iOS, Android, XBOX, PS4, PS5, Switch, Quest 2. ⭐ 5.7k
  • 🟢 bs::framework - Modern C++14 library for the development of real-time graphical applications. ⭐ 1.9k

Physics Libraries

Physics simulation libraries organized as ECS.

C++

  • 🟢 edyn - A real-time physics engine organized as an ECS. ⭐ 792

Other Resources

Benchmarks

Performance benchmarks comparing ECS frameworks.

Blog Posts

Articles and blog posts about ECS and data-oriented design.

Talks & Slides

Conference talks and presentations about ECS.

Books

Books on ECS and data-oriented design.

Tutorials

Tutorial series for learning ECS.

Lists

Related curated lists.

References

Wikis, FAQs, glossaries, and other reference material on ECS.

Contributing

Contributions are very welcome! Please read the contribution guidelines first. Also, please feel free to report any error.

Star History

Star History Chart

</a>

License

CC0