Home
Projects
Resources
Alternatives
Blog
Sign In
Awesome Entity Component System
Save
:sunglasses: A curated list of Entity-Component-System (ECS) libraries and resources
Overview
Reviews
Resources
Project README
awesome-ecs
:sunglasses: A curated list of Entity-Component-System (ECS) libraries and resources
ECS Libraries
C/C++
anax
- Open source C++ entity system
ECS
- C++ single-header entity component system library
ecs.hpp
- A single header C++14 entity component system library
ecst
- Experimental C++14 multithreaded compile-time entity-compnent-system library
EntityFu
- A simple, fast entity component system written in C++
EntityPlus
- C++14 entity component system
EntityX
- Fast, type-safe C++ entity component system
entt
- Fast and reliable entity-component system
Flecs
- A Multithreaded Entity Component System written for C89 & C99
Gaia-ECS
- Fast and type-safe C++17 archetype-based entity component system
Ginseng
- An ESC library designed for use in games
goomy
- A tiny, experimental ECS framework
Kengine
- Game engine with an Entity-Component-System (ECS) architecture
matter
- C++17/20 ECS implementation
mustache
- A fast, modern C++ entity component system
pico_ecs
- Single-header and cross-platform ECS
C#
DefaultEcs
- ECS for syntax and usage simplicity with maximum performance
Svelto.ECS
- Lightweight data oriented entity component system framework
Arch
- A high-performance Archetype & Chunks Entity Component System for game development and data-oriented programming
Entitas
- The Entity Component System Framework for C# and Unity
LeoEcsLite
- Lightweight C# Entity Component System framework
Morpeh
- ECS Framework for Unity Game Engine and .NET Platform
Friflo Engine ECS
- ECS for .NET with focus on performance, cache locality and DX
Common Lisp
beast
- Basic Entity/Aspect/System Toolkit
cl-ecs
- An implementation of the Entity-Component-System pattern mostly used in game development
cl-fast-ecs
- Blazingly fast Entity-Component-System microframework
Dart
Fast ECS
- Simple and fast Entity-Component-System (ECS) library written in Dart.
Elixir
ECSx
- An ECS framework for Elixir
Python
esper
- A lightweight Entity System for Python
Rust
shipyard
- Entity Component System written in Rust
specs
- Parallel entity component system written in Rust
legion
- High performance Rust ECS library
bevy_ecs
- Simple to use, ergonomic, fast, massively parallel, opinionated, and featureful written in Rust
hecs
- High-performance, minimalist entity-component-system
Go
Arche
- An archetype-based Entity Component System for Go
Lua
ECS
Lua - A fast and easy to use ECS engine for game development
tiny-ecs
- Entity Component System for Lua that's simple, flexible, and useful
Java
Artemis-odb
- A continuation of the popular Artemis ECS framework
JavaScript
bitECS
- Functional, minimal, data-oriented, ultra-high performance ECS library
ECSY
- Entity Component System for javascript
Zig
mach-ecs
- Entity Component System from first-principles designed for Zig
Zig ECS
- A Zig port of the fantasic Entt
Applications powered by ECS
Game Engines
C++
crown
- General purpose data-driven game engine
Engine
- Basic cross-platform 3D game engine
igneous
- Open source game engine written in C++
shiva
- Modern Cross-Platform C++ Engine with modularity
Sparky
- Cross-Platform High Performance 2D/3D game engine
Usagi
- Hierarchical component entity system based game engine
Rust
Amethyst
- Data-oriented and data-driven game engine written in Rust
Bevy
- A refreshingly simple data-driven game engine built in Rust
Graphics Engines
C++
bs::framework
- Modern C++14 library for the development of real-time graphical applications
The Forge
- Cross-Platform Rendering Framework with support for PC Windows, Linux, Ray Tracing, macOS/iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
Other Resources
Benchmarks
ecs_benchmark
: Benchmarks of common ECS (Entity-Component-System)-Frameworks in C/C++
ECS C# Benchmark
: Benchmarks of the main ECS Frameworks for C#
CSharpECSComparison
: Benchmarks of common ECS Frameworks for C#
Blog Posts
Data-oriented design
ECS back and forth
Let's build an Entity Component System from scratch
Entity Systems are the future of MMOG development
Building an ECS
Systems Interaction in Entity-Component-System (events)
Overview of ECS variants & definitions
Understand data-oriented design
Unity ECS series
Talks & Slides
itCppCon19: ECS back and forth
GDC 2018: Unity at GDC - A Data Oriented Approach to Using Component Systems
Meeting C++ 2018: Data oriented design in practice
CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
Data Oriented Design Resources
Data Oriented GUI in Rust
Is There More to Game Architecture than ECS
- Bob Nystrom (Roguelike Celebration 2018)
Unite 2018: C# Job System + ECS usage and demo with Intel
Codestar 2018 ECS - A Different Approach to Game Development
CppCon 2014: Mike Acton "Data-Oriented Design and C++"
)
Books
Data-Oriented Design
Tutorials
Starting a new 2D platformer with ECS
Lists
Entity Component System & Data Oriented Design
ETC
Entity Systems Wiki
Entity Component Systems FAQ
Open Source Agenda is not affiliated with "Awesome Entity Component System" Project. README Source:
jslee02/awesome-entity-component-system
Stars
493
Open Issues
2
Last Commit
2 months ago
Repository
jslee02/awesome-entity-component-system
Tags
Unlicense
Awesome List
Data Oriented Design
Ecs
Entity Component System
Game Engine
Open Source Agenda Badge
Submit Review
Review Your Favorite Project
Submit Resource
Articles, Courses, Videos
Submit Article
Submit a post to our blog
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
Home
Projects
Resources
Alternatives
Blog
Sign In
Sign In to OSA
I agree with
Terms of Service
and
Privacy Policy
Sign In with Github