Skip to content

eerii/hello-bevy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

hello bevy πŸ¦†

an opinionated bevy template for my projects.

features 🌿

  • uses bevy 0.14
  • minimal and curated plugin support
  • fully featured accesible menu with keyboard, mouse and gamepad navigation
  • ci that checks errors and lint
  • creates binaries for web, linux, mac and windows when releasing a tag
  • deploy to itch automatically
  • has a nix flake development shell for easy building

how to use it ✨

  • use this template in a new project (on github, a green button on the top right)

runing locally 🌺

to run a debug build use cargo:

cargo run

you can also play around with some of the included examples with cargo run --example <name>. and if you want to get started quickly, copy any example to src/main.rs!

if you have nix installed, running nix develop you get a shell with all the dependencies already installed.

release 🌻

in order to create a release build with binaries for all platforms you have two options: either you trigger it manually on the actions page or you add a tag like '[anything]0.1' with the version you want.

git tag -a "0.1" -m "test release"
git push --tags

if you want to also deploy this build to itch, go to the repository settings > secrets > actions and add:

ITCH_API_KEY = [your api key]

to run a release build locally:

cargo run --release --no-default-features --features release

profiling πŸ“ˆ

bevy has built in support for the tracy profiler. you can profile your game easily:

tracy-capture -o capture.tracy &
cargo run --release --no-default-features --features trace

and then view the result with:

tracy capture.tracy

other projects πŸ’–

this is heavily based on TheBevyFlock/bevy_quickstart and NiklasEi/bevy_game_template. please use these more general templates that are robust and have community support. hello bevy is hardly tested and very tailored to my preferences.

plugins πŸͺ΄

this template intends to use as little external dependencies as possible to facilitate version updates and avoid bloat. that said, there are a few awesome community plugins that make everything as easy as possible.

  • leafwing-input-manager: an awesome way of handling input from multiple sources and create simple bindings
  • bevy_mod_picking: used to select things on the screen. only the ui picker is enabled by default, used for mouse navigation
  • bevy-inspector-egui: optional and only enabled when using the inspector feature. it provides a very useful world inspector

license πŸ“

this project is dual licensed under MIT and Apache 2.0, do what you want with it!

the files under assets may come from other sources and have different licenses: