Find a file
2026-09-07 00:29:59 -03:00
.github/workflows Overall doc improvements 2026-09-06 21:34:10 -03:00
concord Make system name optional 2026-09-07 00:29:59 -03:00
docs Make system name optional 2026-09-07 00:29:59 -03:00
guides Overall doc improvements 2026-09-06 21:34:10 -03:00
scripts Add namespaced emit, continue improving docs 2026-09-06 21:52:44 -03:00
.gitattributes Initial commit 2018-01-25 15:19:31 +01:00
.gitignore Overall doc improvements 2026-09-06 21:34:10 -03:00
.luacheckrc Usability improvements 2023-02-14 22:20:34 -03:00
config.ld Overall doc improvements 2026-09-06 21:34:10 -03:00
init.lua Make repo submodule friendly 2020-05-02 20:44:33 +02:00
ldoc.css Overall doc improvements 2026-09-06 21:34:10 -03:00
LICENSE Small fixes 2018-11-26 12:37:28 +01:00
README.md Overall doc improvements 2026-09-06 21:34:10 -03:00

Concord

Concord is a feature complete library that allows you to use the Entity - Component - System (ECS) model to write and organize your Lua code.

Concord puts a lot of effort on being easy to use and provide a great developer experience, while trying to be competitive in performance with alternative libraries.

Installation

Download this repository and add the concord folder to your project. Then import it:

local Concord = require("path.to.concord")

Note

The file imported should be concord/init.lua. Some Lua runtimes will allow you to require concord, but others will need concord.init.

Documentation

Start with Getting Started. It covers Worlds, Components, Entities, Filters, Systems, and Events.

Guides

  • Why ECS? — when Concord (and ECS in general) is a good fit
  • Custom Pools — using a different data structure than the default Pool list
  • Pool Flushing and Timing — when Filters update, and how that interacts with Events

API reference is generated with LDoc and published on the GitHub page.

Contributors

  • Pablo Mayobre: Rewrite, constant support and a good rubberduck
  • Brbl: Early testing and issue reporting
  • Josh: Squashed a few bugs and generated docs
  • Erasio: I took inspiration from HooECS. He also introduced me to ECS
  • Speak: Lots of testing for new features of Concord
  • Tesselode: Brainstorming and helpful support

License

MIT Licensed - Copyright Justin van der Leij (Tjakka5)