A refreshingly simple data-driven game engine built in Rust
Free and Open Source Forever!
Get Started
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
- 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, shadows, 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
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

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
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
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 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 Supporters
Platinum
$50 / month
Jessica Collins
Arend van Beelen
Turki Al-Marri
Dominykas Djacenko
V-Sekai
HAL 9000
Brent Houghton
natepiano
Ryan Butler
Stefan Wolf
Alexander Balfanz
Daniel Porteous
Jonny Power
Julian Kanzler
Ignacy Chełstowski
Laurence Cullen
Eric Stokes
Gold
$25 / month
Jakob Getzel
Skolwind
Pressing Thumbs Games
Aevyrie Roessler
avi
Jack Wolfard
doomy
samflores
occuros
RJ
Gunstein Vatnar
Hexorg
Slowchop Studios
Dan White
Torstein Grindvik
Chris "cdata" Joel
natepiano
Victor Bjelkholm
VJ Pyree
puzzled_squid
Afonso Lage
nil (TheRawMeatball)
doot
Charlotte
Paul Lackner
now I have to make a game with bevy
Ida "Iyes"
Corvus Prudens
SilvanCodes
Sindri Andrason
Troels Hoffmeyer
Kelvie Wong
Mark Emmons
Ben Whitley
Conner Mitchell
Manuel Mauro
Kev James
Markus Siegert
Michele Vigilante
Danny McGee
Jan Hohenheim
Joseph Lyons
Kaj-Sören Grunow
Joshua Manon
Erik Ring-Walters
Jason Marsh
Alan Jesser
John Hainline
Joel Courtney
Idris Zaidi
Idler Cloud
Maciej Buszko
Mark Davis
Zgred Fred
Abel Toy
Philipp Dobler
Mysvac
Antoine Duchenet
Edward Swartz
Guido Offermans
Arto Bendiken
Shira Smith
RyeToastyO
Frédéric Jolliton
Callim Éthée
Devlyn Nelson
IceSentry
Caitlin Campbell
Jonni Liljamo
Wiktor Ravndal
Rusty XYZ
Lars Diederich
Philip Ellison
Jordan Halase
Aldis Ruiz
Konrad Konieczny
Tyler Royer
Past Donors
Julian Ramirez Ruiseco, Kevin Rose, Cameron Flannery, Justin Hentz, Brandon Reinhart, Daniel Cazares, Daniel Gallups, Joost Oudejans, Tarek Abdel Sater, Malek Hodroj, Jillis Noordhoek, Cayle Bray, Cult, Inc., Insfollowpro, Yash Kumar, Felix Rath, Sunjay Varma, Rusticorn, Viet NT, Gediminas Gylys, Vollkornaffe, Connor "Aceeri" McCluskey, Daniel Grice, Jacudibu, Robin Benzinger, Hugo Peters, Timothy Bertotti, Luukas Kortesniemi, Amelia Mowers, Andrea Bueide, Kevin Chen, Kris Warner, rpg EML, Pedro Reis, Aaron Blankenship, Brian Heineman, Br3nnabee, Daniel Yokoyama, Fabio Loreggian, Xu Liu, rudderbucky, Markus Ort, Владимир Степаненко, Matthew Eppelsheimer, Micah Hinckley, Peter Lustig, Joshua Findon, Marius Cobzarenco, Allan Davis, indiedevcasts.com, Piot, John Hainline, John Hainline, CooCooCaCha, bugcaptor, Oleksii Nosov, TenRayTracedCats, Dylan P., Jan Klinge, well, now I have to make a game with bevy, rustunit.com, Robin Benzinger, nezuo, Ask Game Studio, Nicholas Anderson, Idris Zaidi, Brandon Wand, Augustin Gjini, David M. Lary, Daniel Grice, Jesse Rupe, Adam, Brett Witty, Orange_Murker, Subtale, knutwalker, 0x0177b11f, Astrago DE, Iryna Chernyshchuk, Lars Schneidenbach, Tomas Zemanovic, Lawrence Holcomb, Krzysztof Piskorski, Alar Okas, Julian Laubstein, Jonathan Plasse, Justin Turpin, Caleb Yates, Théo Degioanni, Jiří Švejda, Reshen Amin, Doce Fernandes, Andrzej Kilijański, Charles Knudson, Carter Anderson, Viktor Kuroljov, John Munson, Jiwon Min