Cette page est affichée en anglais. Une traduction française est en cours.
ConfigsApr 12, 2026·3 min de lecture

Bevy — Data-Driven Game Engine Built in Rust

Bevy is a refreshingly simple data-driven game engine built in Rust. Uses an Entity Component System (ECS), hot reloading, and a modular plugin architecture. The most popular Rust game engine and a new paradigm for game development.

Introduction

Bevy is a refreshingly simple data-driven game engine built in Rust. Created by Carter Anderson in 2020, Bevy uses an Entity Component System (ECS) as its core architecture, making it fast, modular, and composable. Despite being relatively young, Bevy has become the most popular Rust game engine and one of the fastest-growing game engines overall.

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 web

Key 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

Discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires