A fast, portable Entity Component System for Luau. https://ukendio.github.io/jecs/
Find a file
2025-11-30 08:19:28 +01:00
.github Remove obsolete files 2025-11-30 07:57:52 +01:00
assets Optimize column access 2025-06-25 17:16:04 +02:00
benches Cleanup repository 2025-11-30 08:13:31 +01:00
demo Removed some dead code 2025-10-14 00:45:16 +02:00
examples Replace docs site with luau files 2025-11-30 07:56:31 +01:00
how_to Cleanup repository 2025-11-30 08:13:31 +01:00
modules Cleanup repository 2025-11-30 08:13:31 +01:00
src Cleanup repository 2025-11-30 08:13:31 +01:00
test Cleanup repository 2025-11-30 08:13:31 +01:00
thesis Optimize column access 2025-06-25 17:16:04 +02:00
.gitignore Cleanup repository 2025-11-30 08:13:31 +01:00
.luaurc Fix alias paths 2025-11-30 08:19:28 +01:00
CHANGELOG.md Improve relationship performance 2025-08-07 18:53:50 +02:00
default.project.json Cleanup repository 2025-11-30 08:13:31 +01:00
LICENSE Optimize column access 2025-06-25 17:16:04 +02:00
package.json Cleanup repository 2025-11-30 08:13:31 +01:00
README.md Make bullet points 2025-11-30 08:12:36 +01:00
rokit.toml Cleanup repository 2025-11-30 08:13:31 +01:00
tsconfig.json Optimize column access 2025-06-25 17:16:04 +02:00
wally.toml Cleanup repository 2025-11-30 08:13:31 +01:00

Just a stupidly fast Entity Component System

  • Entity Relationships as first class citizens
  • Iterate 800,000 entities at 60 frames per second
  • Type-safe Luau API
  • Zero-dependency package
  • Optimized for column-major operations
  • Cache friendly archetype/SoA storage
  • Rigorously unit tested for stability

Get Started

This repository includes a few subfolders that can help you get started with jecs:

  • how_to: This is a step-by-step introduction to how this ECS works and the reasoning behind its design.

  • modules: These are regularly used modules and should be mostly working, but some might not be. You can look in this folder to see some code that you might use to help you hit the ground running quickly.

  • examples: These are larger programs that showcase real use cases and can help you understand how everything fits together.

Benchmarks

21,000 entities 125 archetypes 4 random components queried. Queries Can be found under /benches/visual/query.luau

Inserting 8 components to an entity and updating them over 50 times. Insertions Can be found under /benches/visual/insertions.luau