A refreshingly simple data-driven game engine built in Rust
Free and Open Source Forever!

Data Driven

All engine and game logic uses Bevy ECS, a custom Entity Component System
  • Fast: Massively Parallel and Cache-Friendly. The fastest ECS according to some benchmarks
  • Simple: Components are Rust structs, Systems are Rust functions
  • Capable: Queries, Global Resources, Local Resources, Change Detection, Lock-Free Parallel Scheduler

2D Renderer

Render real-time 2D graphics for games and apps
  • Features: sprite sheets, dynamic texture atlases, cameras, textures, and materials
  • Extensible: custom shaders, materials, and render pipelines
  • Common Core: builds on top of Bevy's Render Graph

3D Renderer

A modern and flexible 3D renderer
  • Features: lights, cameras, meshes, textures, materials, gltf loading
  • Extensible: custom shaders, materials, and render pipelines
  • Common Core: built on top of Bevy's Render Graph

Render Graph

Compose custom render pipelines using a graph structure
  • Parallel: Render Graphs are automatically rendered in parallel
  • Modular: Build composable and reusable render logic using Render Graph nodes
  • Backend Agnostic: Not tied to a specific graphics api

Cross Platform

Support for all major desktop platforms:
  • Windows, MacOS, Linux
With more on the way:
  • Android, iOS, Web

Bevy UI

A custom ECS-driven UI framework built specifically for Bevy
  • Built directly on top of Bevy's ECS, Renderer, and Scene plugins
  • Compose UIs dynamically in code or declaratively using the Bevy Scene format
  • Use a familiar "flex box" model to layout your UIs

Scenes

Create, save, and load ECS worlds using Bevy's Scene system
  • Loading: Loading scenes preserves entity IDs (useful for save games)
  • Instancing: Instancing creates linked duplicates of scenes with new entity IDs
  • Hot Reloading: Changes to scene files are automatically applied to running apps

Sound

Load audio files and play them on demand
  • Load mp3 audio files as Assets
  • Play audio files using the AudioOutput resource

Hot Reloading

Get instant feedback on your changes without app restarts or recompiles
  • Asset changes are immediately reflected in running Bevy apps
  • You can currently hot-reload scenes, textures, and meshes
  • Any asset type can be integrated

Productive Compile Times

Game development is an iterative process. You can't afford to wait for compiles
  • With Bevy you can expect 0.8-3.0 seconds with the "fast compiles" configuration
  • Compare that to other popular Rust game engines, which can take over 30 seconds to compile a single newline insertion!

Free and Open Source

An engine made by and for the developer community
  • 100% free. Forever and always
  • Open Source under the permissive MIT license
  • No contracts
  • No license fees
  • No sales cuts
Ready to start building Bevy apps? Get started fast with The Bevy Book!

A big thanks to Bevy's generous Sponsors for making our work sustainable:

Platinum Sponsors

Bronze Sponsors