(maintained but no new features) An Entity Component System (ECS) framework written in Rust.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



An Entity Component System (ECS) library written in Rust.

For info about why an ECS may be beneficial, see some of these articles:

There is a large variety of ways an ECS may work. This particular one is similar to Artemis. Although this isn't a port to Rust, most functionality should be similar, and the tutorials/manual there should be able to make up for the current lack of documentation here.

Adding ecs-rs to your project

Add ecs to your Cargo.toml

ecs = "*"

(Of of course you can pick a specific version, but at least until version 1.0, that's probably not a good idea)

How to use ecs-rs


There are parts of a WIP tutorial in the doc/ directory. More work is being done but I'm a little bit busy on other projects and don't have that much time.

Ask a question

I've opened an issue for questions here. Alternatively, you may occasionally be able to catch me on the #rust-gamedev IRC channel. This is the fastest way to get help but if I'm not there then leave the question in the aforementioned issue thread.


At the moment the documentation is rather lacking, but at least some information can be gathered by looking at the API docs. Run cargo doc in your project and open up the ecs docs in your browser.

Contributions are welcome