Skip to content

jslee02/awesome-entity-component-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

91 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome ECS

Awesome

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

Contents

Legend: 🟒 Active (<1yr) Β· 🟑 Slow (1-2yr) Β· πŸ”΄ Stale (>2yr) Β· πŸ’€ Archived

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

C/C++

C#

Common Lisp

  • πŸ”΄ beast - Basic Entity/Aspect/System Toolkit. ⭐ 30
  • πŸ”΄ cl-ecs - An implementation of the Entity-Component-System pattern mostly used in game development. ⭐ 8
  • cl-fast-ecs - Blazingly fast Entity-Component-System microframework. gitlab

Dart

  • πŸ”΄ Fast ECS - Simple and fast Entity-Component-System (ECS) library written in Dart. ⭐ 17

Elixir

Python

Rust

  • 🟒 bevy_ecs - Simple to use, ergonomic, fast, massively parallel, opinionated, and featureful written in Rust. ⭐ 44.6k
  • 🟒 hecs - High-performance, minimalist entity-component-system. ⭐ 1.2k
  • πŸ”΄ legion - High performance Rust ECS library. ⭐ 1.7k
  • 🟒 shipyard - Entity Component System written in Rust. ⭐ 834
  • 🟑 specs - Parallel entity component system written in Rust. ⭐ 2.6k

Go

  • 🟒 Ark - An archetype-based Entity Component System for Go. ⭐ 215
  • πŸ”΄ ecs - A Go-implementation of the Entity-Component-System paradigm. ⭐ 331

Lua

Java

Julia

  • 🟒 Ark.jl - An archetype-based Entity Component System (ECS) for Julia. It is a port of the Go ECS Ark. ⭐ 54

Kotlin

  • 🟒 Fleks - Fast, lightweight, multi-platform entity component system in Kotlin. ⭐ 246

JavaScript / TypeScript

  • 🟒 becsy - A multithreaded Entity Component System (ECS) for TypeScript and JavaScript, inspired by ECSY and bitecs. ⭐ 285
  • 🟒 bitECS - Functional, minimal, data-oriented, ultra-high performance ECS library. ⭐ 1.3k
  • πŸ’€ ECSY - Entity Component System for javascript. ⭐ 1.1k
  • πŸ”΄ miniplex - The gentle game entity manager, focused on ease of use and developer experience. ⭐ 983
  • 🟑 Thyseus - An archetypal Entity Component System, built entirely in Typescript. ⭐ 86

Zig

Haskell

  • 🟒 apecs - A fast, extensible, type driven Haskell ECS framework for games. ⭐ 408

Game engines built on ECS architecture.

C++

Go

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

Rust

Zig

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

Graphics and rendering engines using ECS.

C++

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

Physics simulation libraries organized as ECS.

C++

  • 🟒 edyn - A real-time physics engine organized as an ECS. ⭐ 750

Performance benchmarks comparing ECS frameworks.

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

Conference talks and presentations about ECS.

Books on ECS and data-oriented design.

Tutorial series for learning ECS.

Related curated lists.

Other ECS-related resources.

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

Star History Chart

CC0

About

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

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages