The all-in-one Bevy 3D game template.
foxtrot-480p.mov
- A 3D character controller
- Physics via
bevy_rapier - Audio via
bevy_kira_audio - Pathfinding via
oxidized_navigation bevy_editor_plsin thedevfeature, bound to 'Q'- Custom editor for the game state found in the windows selection for
bevy_editor_pls. - Saving / loading levels
- Saving / loading the game state
- Animations
- A custom dialog system
- Shaders
- GLTF imports, including auto-detection of colliders
- Dynamic builds in the
native-devfeature - Grass blades using
warbler_grass - Smooth cameras via
bevy_dolly - A skydome that follows the camera
- Simple error handling via
bevy_mod_sysfail - Simple plugin creation via
seldom_fn_plugin - Particle effects via
bevy_hanabi - Clean and extensible object spawning via
spew
Simply use the template button on GitHub to create a new repository from this template.
Then, replace all instances of the word foxtrot with the name of your game. Change the game version as well as the author information in the following files:
Cargo.tomlbuild/windows/installer/Package.wxsbuild/macos/src/Game.app/Contents/Resources/Info.plist
Native:
cargo runWasm:
trunk serve --no-default-features --features wasm_devBuilding in general requires setting up LLD or ZLD as described in the Bevy book. Don't worry, it's super easy:
-
Ubuntu:
sudo apt-get install lld -
Arch:
sudo pacman -S lld -
Windows: Ensure you have the latest cargo-binutils
cargo install -f cargo-binutils rustup component add llvm-tools-preview
-
MacOS: Modern LLD does not yet support MacOS, but we can use zld instead:
brew install michaeleisel/zld/zld
Building WASM requires trunk:
cargo install --locked trunkYou should keep the credits directory up to date. The release workflow automatically includes the directory in every build.
- Replace
build/windows/icon.ico(used for windows executable and as favicon for the web-builds) - Replace
build/macos/icon_1024x1024.pngwith a1024times1024pixel png icon and runcreate_icns.sh(make sure to run the script inside themacosdirectory) - Warning: sadly this seems to require a mac...