What Bevy Does
- ECS — Entity Component System for data-driven logic
- Rendering — 2D sprites, 3D PBR, post-processing (wgpu-based)
- Audio — spatial audio via rodio
- Input — keyboard, mouse, gamepad, touch
- UI — built-in reactive UI system
- Scenes — serializable scene format
- Asset loading — async, hot-reloadable
- Plugins — modular, composable plugin architecture
- States — app state machine for menus, gameplay
- WebGPU — via wgpu (Vulkan/Metal/DX12/WebGPU backends)
Architecture
Bevy ECS:
- Entities — unique IDs
- Components — data structs attached to entities
- Systems — functions that query components and execute logic
- Resources — global singleton data
- Events — message passing between systems
All systems run in parallel by default (Bevy schedules them based on data access). This makes Bevy inherently multi-threaded.
Self-Hosting
Rust project — build and distribute:
cargo build --release
# Export to WebAssembly
cargo build --release --target wasm32-unknown-unknown
wasm-bindgen target/wasm32-unknown-unknown/release/my_game.wasm --out-dir webKey Features
- Data-driven ECS
- Automatic parallelism
- Hot asset reloading
- 2D + 3D rendering (wgpu)
- Plugin architecture
- WebGPU/Vulkan/Metal/DX12 backends
- WebAssembly export
- Scene serialization
- Reactive UI
- Active community and rapid releases
Comparison
| Engine | Language | Architecture | 3D |
|---|---|---|---|
| Bevy | Rust | ECS | Growing |
| Godot | GDScript/C# | Scene tree | Good |
| Unity | C# | MonoBehaviour (+ DOTS ECS) | Excellent |
| Amethyst | Rust (archived) | ECS | Basic |
| Macroquad | Rust | Immediate mode | Basic |
FAQ
Q: Can I ship commercial games? A: Yes. Dual MIT + Apache licensing gives full freedom. Indie games built with Bevy are already on Steam.
Q: Is it stable? A: The API is still iterating rapidly (breaking changes each release). But the core is usable for medium-scale projects. v1.0 is probably 1-2 years away.
Q: Learning curve? A: Rust itself has a barrier (borrow checker), and ECS thinking takes getting used to. But Bevy docs and community examples are getting richer.
Sources
- Docs: https://bevyengine.org/learn
- GitHub: https://github.com/bevyengine/bevy
- License: Apache 2.0 + MIT