Getting Started

Get started by reading The Specs Book.

master 0.9 0.10


Specs is written in Rust, with low overhead and multithreading in mind. Virtual function calls are limited to a single one per system.


Aimed to be used in real-world application. It offers high flexibility in terms of component storages and system execution.


Using Specs means getting parallelism without thinking too much about it. The Dispatcher automatically executes systems in parallel where possible.


Read the API documentation for Specs.

master 0.9 0.10


The types are designed to be pluggable and easy to integrate. For example, the Dispatcher allows all sorts of magic for system execution, but you don’t have to use it. Instead, you can also write your own. Also, you can freely define new components because no macros are used for building the world.

great support

Don’t hesitate to ask for help. We are happy to support you when using Specs. Just visit us on our Gitter channel.


The user can define own component storages and custom data for a system. To make this ergonomic, there’s even a custom derive implemented for this.

Want to check out Specs on GitHub?

Any contribution in form of PRs, creating issues or taking part in discussions is highly valued.

Go to GitHub