/awesome-entity-component-system

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

The UnlicenseUnlicense

awesome-ecs

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

ECS Libraries

C/C++

  • anax - Open source C++ entity system [github miguelmartin75/anax]
  • ECS - C++ single-header entity component system library [github redxdev/ECS]
  • ecs.hpp - A single header C++14 entity component system library [github BlackMATov/ecs.hpp]
  • ecst - Experimental C++14 multithreaded compile-time entity-compnent-system library [github SuperV1234/ecst]
  • EntityFu - A simple, fast entity component system written in C++ [github NatWeiss/EntityFu]
  • EntityPlus - C++14 entity component system [github Yelnats321/EntityPlus]
  • EntityX - Fast, type-safe C++ entity component system [github alecthomas/entityx]
  • entt - Fast and reliable entity-component system [github skypjack/entt]
  • Flecs - A Multithreaded Entity Component System written for C89 & C99 [github SanderMertens/flecs]
  • goomy - A tiny, experimental ECS framework [github vberlier/goomy]
  • Kengine - Type-safe and self-documenting implementation of an Entity-Component-System [github phisko/kengine]
  • matter - C++17/20 ECS implementation [github Dreyri/matter]

C#

  • DefaultEcs - ECS for syntax and usage simplicity with maximum performance [github Doraku/DefaultEcs]
  • Svelto.ECS - Lightweight data oriented entity component system framework [github sebas77/Svelto.ECS]

Python

  • esper - A lightweight Entity System for Python [github benmoran56/esper]

Rust

  • Shipyard - Entity Component System written in Rust [github leudz/shipyard]
  • Specs - Parallel entity component system written in Rust [github slide-rs/specs]

Applications powered by ECS

Game Engines

C++

  • crown - General purpose data-driven game engine [github dbartolini/crown]
  • Engine - Basic cross-platform 3D game engine [github Shervanator/Engine]
  • igneous - Open source game engine written in C++ [github MissingBitStudios/igneous]
  • shiva - Modern Cross-Platform C++ Engine with modularity [github Milerius/shiva]
  • Sparky - Cross-Platform High Performance 2D/3D game engine [github TheCherno/Sparky]
  • Usagi - Hierarchical component entity system based game engine [github vitei/Usagi]

Rust

  • Amethyst - Data-oriented and data-driven game engine written in Rust [github amethyst/amethyst]

Graphics Engines

C++

  • bs::framework - Modern C++14 library for the development of real-time graphical applications [github GameFoundry/bsf]

Other Resources

Benchmark

Blog Posts

Talks & Slides

Book

Lists

ETC