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

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
ECS code
Pixel art sprite of a person

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, shadows, cameras, meshes, textures, materials, gltf loading
  • Extensible: custom shaders, materials, and render pipelines
  • Common Core: built on top of Bevy's Render Graph
3D boat model
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 platforms:
  • Windows, MacOS, Linux, Web, iOS
With more on the way:
  • Android
Microsoft, Apple, and Linux logos
UI dialog window diagram

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
2D scene of a square upon grass under the sun
Music notes

Sound

Load audio files and play them on demand
  • Load audio files as Assets
  • Play audio Assets using the Audio 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
Hot reloading diagram
Compile time progress bar

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 or Apache 2.0 licenses
  • No contracts
  • No license fees
  • No sales cuts
The open source icon
Ready to start building Bevy apps? Get started fast with The Bevy Book!
Bevy logo

A big thanks to Bevy's generous Sponsors for making our work sustainable. Note that all Bevy leaders accepting sponsorships have signed this Sponsorship Pledge to ensure that Bevy remains a community-first project.

Patron Sponsors

Over $100,000 / year

Platinum Sponsors

$1,000 / month

Silver Sponsors

$200 / month

Bronze Sponsors

$100 / month