Awesome Bevy
An awesome-style list of cool Bevy projects. If you would like to share what you're working on, submit a PR! Feel free to create new categories where it makes sense.
Learning
- Official Bevy Examples: Learn each Bevy feature from minimal illustrative examples
- Bevy Cheatbook: Practical reference to programming in bevy! Covers basic concepts, syntax, and solutions to common game dev tasks!
- Bevy Cheatsheet: Condensed one-page summary of Bevy programming syntax.
- Making a Snake Clone: Walkthrough on how to make a snake clone
- Making Chess Clone in 3D: Walkthrough on how to make a Chess Clone with 3D pieces
- Using Rapier for Physics
- Making a Rhythm game: Walkthrough on how to make a Rhythm game, with menu, audio and shaders.
Migration Guides
Languages
These translations are unofficial, unverified, and potentially out of date.
- Bevy Chinese Website(Bevy中文网): Translate official website and The Bevy Book in Chinese
Plugins and Crates
Input
- Kurinji: Input Map for bevy. Converts user input from different input hardware into game specific actions, eg. keyboard "Space" or joystick "A" can be mapped to "Jump" Action. This allows decoupling of the game code from device specific input api.
- bevy_input_actionmap: Maps key and gamepad events to actions in Bevy.
3D
- bevy_fly_camera: A flying camera plugin
- bevy_flycam: A basic FPS-style camera controller
- Bevy-WoW: A WoW-style camera
- bevy-orbit-controls: An orbit controls camera controller
- bevy_obj: Wavefront .obj mesh asset loader plugin
- bevy_mod_picking: 3D mouse picking and ray casting plugin
- bevy_stl: STL mesh asset loader plugin
- bevy_vox: MagicaVoxel Vox file loader plugin
- bevy_4x_camera: A 4X style camera for bevy. Demo
- bevy_vox_mesh: Asset loader plugin to load MagicaVoxel files as meshes.
2D
- bevy_tiled: A plugin for rendering Tiled maps
- bevy_tilemap: Chunk rendered tilemap for Bevy game engine.
- bevy_ldtk: Efficient tilemap rendering for LDtk maps.
- bevy_prototype_lyon: Draw 2D shapes, like triangles, circles, and beziers.
- bevy-earcutr: Draw polygons
- bevy_prototype_parallax: A parallax scrolling background plugin.
- bevy_svg: Load and draw SVG-files.
Animation
- bevy_easings: A plugin for easing a component value to another value, mainly used to animate transition between two transforms, but usable for other components.
UI
- bevy_ninepatch: Display 9-Patch UI elements, where you can specify how different parts of a PNG should grow
- bevy_megaui: A plugin for megaui integration into Bevy
- bevy_egui: A plugin for egui integration into Bevy
- bevy_console: A half-life2 style console using bevy_egui
Backends
- prototype_bevy_sdl2: A prototype for SDL2 integration into Bevy
- bevy_miniquad: A plugin replacing winit windowing and render pipeline with miniquad library.
- bevy_doryen: A plugin integrating Bevy ECS with doryen-rs Ascii roguelike library.
- bevy_webgl2: WebGL2 renderer plugin for WASM target
Physics
- bevy_rapier: A plugin for Rapier, a 2D and 3D physics engine. Maintained by the Rapier developers.
- heron: An ergonomic physics API for 2d and 3d bevy games. (powered by rapier)
- physme: A simplistic physics engine for both 2D and 3D simulation. Physically inaccurate, but feels satisfying and is easy to use.
Networking
- bevy_prototype_laminar_networking: A prototype networking plugin using
laminar
as the transport. - bevy_prototype_simple_net: A working prototype networking plugin that can create client/server systems over TCP or UDP.
- bevy_networking_turbulence: Networking plugin running on naia-socket and turbulence libraries.
- bevy_spicy_networking: Unifying server/client networking crate using tokio as asynchronous backend.
Audio
- bevy_kira_audio: An alternative Bevy audio plugin using Kira
AI
- big-brain: A highly-parallel Utility AI engine.
Development tools
- bevy-inspector-egui: Visually edit fields of structs inside the game using egui.
- bevycheck: annotate invalid systems with
#[bevycheck::system]
to get nice error messages for what's wrong - bevy_mod_debugdump: Render graph and schedule graph visualizers using egui.
- autodefault: annotate functions to have them automatically insert
..Default::default()
into struct expressions. Useful when instantiating large, deeply nested components or component bundles.
Helpers
- bevy_asset_ron: Custom RON Asset loading.
- bevy_contrib_colors: A simple color library.
- bevy_prototype_inline_assets: A simple plugin for bundling assets into your binary.
- bevy_discovery: Automatically detects and registers systems for you.
- bevy_assetio_zip: A plugin for loading assets from an optionally obfuscated zip file.
- bevy_event_set: A macro to create event bundles for Bevy
Templates
- bevy_game_template: An opinionated template repository for a Bevy game including a workflow for Windows, Linux, macOS and Web (WASM) releases
Games
- bevy_nbody: An N-body simulation in Rust
- flock-rs: An example of steering and flocking behaviors
- bevy_pong: It's Pong! Based on the "breakout" bevy example
- bevy-tetris: It's Tetris!
- snake_bevy: It's Snake!
- bevy-space-invaders: It's Space Invaders!
- i_sjon_kan_ingen_hora_dig_skrika: Swedish rowing boat pirate simulator 2020
- labyrinth-game: A humble attempt at a roguelike / market-sim game
- bevy_sokoban: Simple implementation of Sokoban
- per_spatium: Scroll-down space shooter game
- bevy_rider: Line Rider, riding linearly, on segments of lines
- bevy_squares: A remake of the 'Threes' game, built with Bevy
- Kataster: A simple single-screen spaceshooter with rapier2d
- Keep Inside: A solo pong on a circle (made for Ludum Dare 47)
- Keep Moving and Nobody Burns: A bomberman against time (made for Ludum Dare 47)
- SiO2: A simple powder toy clone
- Robbo: Bevy port of great 8-bit Atari game, working native and in the browser
- DJMcNab/life-rs: Bevy reproduction of the rules of Conway's Game of Life on a randomised board.
- Alternative implementation: Byteron/life-rs.
- Zenith: A space-themed shoot 'em up game
- arugio: Prototype multiplayer server-authoritative networked "game" with Browser (WebGL) client and native server
- colonize: A Dwarf Fortress/Rimworld-like game written in Rust.
- oicana: A tower defense game with puzzle aspects
- taipo: A 2d typing/tower defense game for the browser.
- bevy-nbody - 3d n-body simulation of the planets of the Solar System.
Apps
- bevy-calc: A simple calculator