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

Bevy Supporters

Platinum

$50 / month

HAL 9000

V-Sekai

Arend van Beelen

Dominykas Djacenko

Jessica Collins

Arnav Mummineni

Daniel Porteous

Stefan Wolf

Eric Stokes

natepiano

Henry Moore

Julian Kanzler

Ignacy Chełstowski

Pierce Thompson

Jonny Power

Alexander Balfanz

Gold

$25 / month

RJ

doomy

Aevyrie Roessler

puzzled_squid

Jordan Davidson

doot

Troels Hoffmeyer

Skolwind

Jakob Getzel

Sindri Andrason

Paul Lackner

avi

Charlotte

SilvanCodes

Victor Bjelkholm

samflores

nil (TheRawMeatball)

Hexorg

occuros

Pressing Thumbs Games

Chris "cdata" Joel

Jack Wolfard

now I have to make a game with bevy

VJ Pyree

Caitlin Campbell

Jason Marsh

Mark Davis

NNVTN

Tyler Parisi

Kev James

Devlyn Nelson

Philipp Dobler

Marcel Nicolay

Jaap Elst

Rusty XYZ

Wiktor Ravndal

Addison Heavner

John Hainline

Kelvie Wong

Conner Mitchell

Alan Jesser

Jordan Halase

Andrea Vitrano

Shira Smith

Sophie Kirschner

Jonni Liljamo

Frédéric Jolliton

Erik Ring-Walters

Evan Davies

Erika Moreau

Edward Swartz

Markus Siegert

Gustavo Lee

Abel Toy

Aldis Ruiz

Idler Cloud

Tyler Royer

Mark Emmons

Michele Vigilante

Daniel Pietrzeniuk

Ben Whitley

RyeToastyO

IceSentry

Antoine Duchenet

Idris Zaidi

Lars Diederich

Maciej Buszko

Philip Ellison

Danny McGee

Goulven Clech

Konrad Konieczny

Past Donors

Julian Ramirez Ruiseco, Nayiem Willems, Kevin Rose, Cameron Flannery, Justin Hentz, Daniel Gallups, Brandon Reinhart, Daniel Cazares, Aurelia Rella, Roland Mueller, Joost Oudejans, Saveliy Yusufov, Cayle Bray, Jillis Noordhoek, Cisco Martinez, Tarek Abdel Sater, Malek Hodroj, abledbody, Insfollowpro, Cult, Inc., Sunjay Varma, Joda Interactive, Brent Houghton, Yash Kumar, Ryan Butler, Felix Rath, Laurence Cullen, Gediminas Gylys, Vollkornaffe, Jacudibu, Viet NT, Connor "Aceeri" McCluskey, Rusticorn, Turki Al-Marri, Daniel Grice, Robin Benzinger, Hugo Peters, Timothy Bertotti, Luukas Kortesniemi, Micah Hinckley, Peter Lustig, Xu Liu, Joseph Lyons, Br3nnabee, Manuel Mauro, Zgred Fred, Arto Bendiken, Loki Sharp, Dan Exidethos, Fabio Loreggian, Jan Hohenheim, rpg EML, Владимир Степаненко, Aaron Blankenship, Pedro Reis, Andrea Bueide, Zach Geis, Mysvac, Guido Offermans, rudderbucky, Markus Ort, Joshua Findon, Brian Heineman, Daniel Yokoyama, Kris Warner, Matthew Eppelsheimer, Amelia Mowers, Kaj-Sören Grunow, Joshua Manon, Kevin Chen, Callim Éthée, Joel Courtney, Marius Cobzarenco, Augustin Gjini, Subtale, natepiano, CooCooCaCha, Orange_Murker, Ida "Iyes", Idris Zaidi, well, now I have to make a game with bevy, Allan Davis, Dan White, Brandon Wand, TenRayTracedCats, Adam, Corvus Prudens, indiedevcasts.com, 0x0177b11f, Oleksii Nosov, Gunstein Vatnar, nezuo, Brett Witty, Daniel Grice, Afonso Lage, Nicholas Anderson, David M. Lary, Piot, John Hainline, Slowchop Studios, rustunit.com, Torstein Grindvik, Ask Game Studio, John Hainline, knutwalker, Dylan P., Jesse Rupe, Robin Benzinger, bugcaptor, Jan Klinge, Iryna Chernyshchuk, Astrago DE, John Munson, Alar Okas, Lawrence Holcomb, Jaume Singla Valls, Viktor Kuroljov, Carter Anderson, Krzysztof Piskorski, Alix BOTT, Théo Degioanni, Doce Fernandes, jimmy james, Aaron Friedrich, Julian Laubstein, Dani Ballance, Jonathan Plasse, Stefano Schütte, Katerina Marchan, Jiří Švejda, Reshen Amin, Seraiah Kutai, Justin Turpin, Lars Schneidenbach, Charles Knudson, Tomas Zemanovic, Andrzej Kilijański, Jiwon Min