Brussels / 31 January & 1 February 2026

schedule

Practical ECS for Game Development in Rust with Bevy


Short Abstraction

The Entity-Component-System (ECS) architecture underpins many modern game engines and real-time simulation frameworks. Rust, with its strong guarantees around memory safety and concurrency, offers a powerful foundation for building high-performance game systems. This talk explores ECS in practice using the open-source Bevy game engine as a real-world case study. We examine how Bevy structures entities, components, and gameplay systems, how Rust’s ownership model shapes engine design, and what practical trade-offs arise between performance, safety, and flexibility when building real-time games in Rust.

Long Description

ECS is often presented as a cleaner alternative to object-oriented game architecture, but its real advantages and limitations only become clear once you start building real gameplay systems and chasing frame-time budgets. Working with ECS in Rust makes these trade-offs especially visible, because the compiler forces you to be explicit about data access, ownership, and parallel execution.

This presentation uses the open-source Bevy game engine as a practical example of ECS in a modern game engine. I will walk through how gameplay systems are actually built using entities, components, and systems: spawning and querying entities, structuring game logic as systems, scheduling and ordering those systems, and how archetypes impact cache locality and frame performance. We will look at how Rust’s borrow checker directly shapes ECS API design, how safe parallel system execution works in practice, and where you sometimes need to rethink data layout to satisfy both the compiler and real-time performance constraints.

Rather than treating ECS as a universal solution, this talk focuses on real development experience: what works extremely well for gameplay programming in Rust, what takes time to adjust to coming from traditional engines, and when ECS is the right architectural choice for a game versus when it adds unnecessary complexity. While the examples focus on games, the same ideas naturally extend to simulations, tools, and other real-time, data-driven applications

Links

Bevy Engine Homepage Bevy Engine Github

Speakers

Jordan Ellison

Links