Bevy
Bevy is a free, open-source game engine built in Rust around a data-driven Entity Component System architecture. It is young, fast and modular, and it has become the engine of choice for Rust developers who want to write games in a language they already love.
Quick Facts
| Developer | Bevy Foundation (created by Carter Anderson) |
|---|---|
| First released | 2020 |
| Latest version | Bevy 0.19 (2026) |
| Language | Rust |
| Platforms | Windows, macOS, Linux, web (WebAssembly), Android and iOS |
| License | MIT and Apache 2.0 |
| Pricing | Free, open source |
What is Bevy?
Bevy is a game engine written entirely in Rust, created by Carter Anderson and first released in 2020. It is built around an Entity Component System (ECS) architecture, which organizes game data and logic in a way that is fast, parallel-friendly and easy to reason about. Since 2023 it is stewarded by the Bevy Foundation.
If you are not familiar with ECS, here is the idea: entities are just IDs, components are plain data like a position or a health value, and systems are functions that run over components. This data-driven style scales beautifully and suits Rust's ownership model, so Bevy feels natural to Rust programmers in a way most engines do not.
Bevy is young and evolving quickly, with releases landing every few months. It already covers rendering, physics, audio, input, UI, animation and asset loading, and because it is modular you can swap pieces or build on top of the Bevy ecosystem with ease.
Key Features
- Entity Component System architecture at the core
- Written in Rust with zero mandatory runtime dependencies
- Built-in 2D and 3D renderers with WebGPU support
- Scene system, asset pipeline and hot reloading
- Built-in UI, audio, input, animation and physics support
- Runs on desktop, mobile and the web via WebAssembly
- Modular plugin system for extending the engine
- MIT and Apache 2.0 dual license, completely free
How to get started
You need Rust installed. The easiest route is rustup, then you create a new Rust project and add Bevy as a dependency with cargo add bevy. The official website has a getting started guide and a learning section with examples.
Bevy's documentation is code-first: the examples in the Bevy repository are the best teacher. Start with the breakout and 2D examples, then move on to scenes, states and ECS patterns. The community also maintains a friendly discussion forum and an active Discord where beginners get quick help.
- Install Rust with rustup
- Create a project and run cargo add bevy
- Run the built-in examples with cargo run --example breakout
- Study the 2D and 3D examples in the repository
- Join the Bevy community for help and showcase posts
Use cases
- 2D games for desktop, mobile and the web
- 3D indie games with modern rendering features
- Web games compiled to WebAssembly
- Simulation and tooling projects beyond games
- Experimental projects that push the Rust ecosystem
- Learning ECS architecture and Rust game development
Pricing and licensing
Bevy is completely free and open source under a dual MIT and Apache 2.0 license. You can use it in commercial projects, modify the engine and redistribute it without paying royalties or buying a license.
Development is funded through the Bevy Foundation and sponsors. Because the project is community-driven, there is no paid tier, no closed feature set and no corporate roadmap; the community decides what gets built next.
Pros and cons
Bevy's strengths are its performance, its architecture and its Rust ecosystem. The ECS design makes parallelism automatic, memory safety is guaranteed by the language, and the modular plugin system keeps the engine small until you need more.
The trade-offs: Bevy is young, so its feature set and stability trail mature engines, and the API changes between releases, which can be frustrating when following older tutorials. It is also a programmer's engine, with no visual editor yet, so it suits coders rather than designers.
Alternatives
- Godot: mature free and open-source engine with a visual editor
- Unreal Engine: AAA 3D engine with Blueprints and C++
- Unity: cross-platform engine with C# scripting
- macroquad: minimalist Rust game library for small 2D games
- Flame: 2D engine for Dart and Flutter developers