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: