A collection of packages, tools, and examples for the Flutter Event-Component-System (ECS) ecosystem.
This repository contains the core ECS runtime, a build_runner generator, an inspector/devtools extension, and benchmark/example projects.
This project has been discontinued and is no longer actively maintained.
It has been superseded by Orchestra, which resolves architectural ambiguity and improves developer experience.
The main issue with this project was the use of the term "ECS" (Event Component System), which was frequently mistaken for "Entity Component System", a well-known but fundamentally different pattern.
Please migrate to the new project for ongoing support and updates.
- ecs: Core library implementing the Event-Component-System patterns for Flutter (components, events, systems, and widget integration).
- generator:
build_runnercode generator that converts declarative ECS feature definitions into concrete classes. - inspector: DevTools / inspector tooling for visualizing ECS state and system interactions.
- benchmark: Benchmark and example Flutter project demonstrating ECS usage.
ecs/— core package and runtimegenerator/— code-generator packageinspector/— devtools inspector projectbenchmark/— example/benchmark Flutter app
- Core package README: ecs/README.md
- Generator docs: generator/README.md
- Inspector docs: inspector/README.md
- Benchmarks & examples: benchmark/README.md
Run tests (top-level):
dart testRun the generator in the generator package (example):
cd generator
dart run build_runner build --delete-conflicting-outputsPublish the generator package to pub.dev (make sure to update version in generator/pubspec.yaml first):
cd generator
dart pub publishContributions are welcome. Please open issues or PRs in this repository. See each subproject README for package-specific development and testing instructions.
This repository is licensed under the Apache 2.0 License. See LICENSE for details.