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

Animation

A capable animation system

  • Skeletal rig animation driven by an ECS-based joint API
  • Play multiple animations at the same time by smoothly blending between them
  • Use blend shapes / morph targets to animate vertices directly
  • Import animations from GLTF files
An animated poly style model of a fox running
Microsoft, Apple, and Linux logos

Cross Platform

Support for all major platforms:
  • Windows, MacOS, Linux, Web, iOS, Android

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
UI dialog window diagram
2D scene of a square upon grass under the sun

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 audio files as Assets
  • Play audio Assets using Audio entities
Music notes
Hot reloading diagram

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!
Compile time progress bar
The open source icon

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
Ready to start building Bevy apps? Get started fast with The Quick Start Guide!
Bevy logo