/awesome-bevy

A curated list of Bevy resources

Creative Commons Attribution 4.0 InternationalCC-BY-4.0

Description

A personal list of projects and resources that enhance the Bevy experience. These can either be libraries that work directly with Bevy or that are easy to integrate with some example integrations provided.

Contents

General learning

  • Official examples: Has a lot of examples on how to use most of the features of the engine. Are always kept up to date with the latest API
  • Rust API Docs: Great descriptions and some simple examples
  • Unofficial Bevy Cheat Book: A full book that explains in detail all the concepts of the engine similar to the Rust book
  • Blog posts for each new version often contain code showing how to use the new APIs
  • Community: a list of all the official communities, with the most active being Discord and Github Discussions
  • Bevy Assets: The original awesome list. Always check the version as some of them are quite old and the API has changed a lot since then
  • See Games section for more source code

Tutorials

  • Snake: Uses an old version and the original site is unavailable, but still a great starter tutorial
  • Minesweeper: Uses an old version, but if you're struggling with how to structure a classic game using ECS it is still worth a read
  • Best practices: Opinionated list of best practices
  • Dependency injection engine: Covers how to build a simple engine from scratch. Inspired by Bevy

Libraries

Dev tools

Graphics

  • Vello: vectorial rendering that supports SVG and lottie

Input

Physics

  • bevy_rapier: An integration with the popular 2D/3D Rapier Rust physics engine
  • Bevy raycast: Simple raycast system
  • Bevy XPBD: 2D and 3D physics engine based on Extended Position Based Dynamics

Networking

  • Matchbox+GGRS: A tutorial that uses GGRS and Matchbox to create an online p2p multiplayer using rollback netcode in Bevy. Both libraries also have examples on how to integrate them with Bevy
  • Renet: Server/Client network library for multiplayer games

UI

  • Lunex: Path based layout system with an impressive demo

AI

  • Bonsai: Behaviour trees for your AI

Other

  • bevy_proto: Load entity definitions from files. Supports inheritance and hierarchies, similar to Unity prefabs
  • Particular: Nbody simulation library with great performance

Development

Games

Bevy Game jams

Most of the games developed for the jam are open source and are a great way to see some real world usage of the engine. Keep in mind that they are a bit harder to read than specific examples since they have the context of a more complex project. And they might not always be the best practices for writing code as game jams are relatively short and people often do nasty workarounds to meet the deadline.

Prototypes

Upcoming

  • Tiny Glade: A small relaxing game about doodling castles. Uses a custom renderer with Bevy ECS
  • Tunnet: Build an underground computer network
  • Unnamed strategy game: Set in the industrial revolution
  • One Planet: Grand strategy game about climate crisis
  • Emergence: An organic factory builder in early stage

Other

Useful Rust tools

  • arewegameyet: A more general collection of Rust tools for gamedev. Not specific to Bevy
  • rand: You're probably going to be using randomness a lot so might as well import the crate
  • Serde: Serialization framework. When you need to save data to disk or send it on the network.
  • Rayon: A parallelism library. When Bevy's parallelization is not enough for you, just install this library and you're one par_iter() away from (mostly) data race free threading. Get those slacking cores to work!
  • Criterion: Benchmarking library
  • flamegraph: generates easy to read reports to troubleshoot performance issues (haven't tried with Bevy yet)
  • colorgrad: Generates color gradients for beautiful interpolation

Uncategorized