https://github.com/omnidotdev/template-bevy
🎮 Bevy template
https://github.com/omnidotdev/template-bevy
bevy foss game mit open-source rust template
Last synced: 2 months ago
JSON representation
🎮 Bevy template
- Host: GitHub
- URL: https://github.com/omnidotdev/template-bevy
- Owner: omnidotdev
- License: apache-2.0
- Created: 2026-01-25T10:23:32.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2026-03-31T09:05:32.000Z (3 months ago)
- Last Synced: 2026-04-06T03:37:14.363Z (2 months ago)
- Topics: bevy, foss, game, mit, open-source, rust, template
- Language: Rust
- Homepage:
- Size: 86.9 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 🎮 Bevy Template
Game or interactive application built with the Bevy engine.
## Stack
- 🎮 **Engine**: Bevy 0.15+
- 🧩 **ECS**: Entity Component System (Bevy's core paradigm)
- 📦 **Assets**: bevy_asset_loader for state-based loading
## Features
- 🎮 **Game state management**: Loading, Menu, InGame, Paused
- 📦 **Asset loading**: Progress tracking with bevy_asset_loader
- ⌨️ **Input handling**: Abstracted input system
- 📷 **2D camera setup**: Swap for 3D as needed
- 🔒 **Strict Clippy lints**: Pedantic linting enabled
- ⚡ **Optimized builds**: LTO for release builds
- 🚀 **Fast dev compiles**: Dynamic linking + LLD
## Structure
```
src/
main.rs # Entry, app builder
states.rs # Game states
plugins/
mod.rs
loading.rs # Asset loading plugin
menu.rs # Menu plugin
game.rs # Core game plugin
components/ # ECS components
systems/ # ECS systems
resources/ # ECS resources
assets/
sprites/
audio/
fonts/
Cargo.toml
```
## Dependencies
- bevy (default features for quick start)
- bevy_asset_loader
- rand (if needed)
## Architecture
```
States: Loading → Menu → InGame ↔ Paused
↑ │
└────────┘ (back to menu)
```
## Commands
```sh
cargo run # Dev build
cargo run --features dev # Dev with dynamic linking (fast recompiles)
cargo build --release # Release build
cargo test # Tests
```
## Performance Tips
- Use `--features dev` during development for faster iteration
- The `.cargo/config.toml` enables LLD linker for faster linking
- Release builds use LTO for maximum optimization
- Consider `bevy_embedded_assets` for distribution
## License
The code in this repository is licensed under Apache 2.0, © [Omni LLC](https://omni.dev). See [LICENSE.md](LICENSE.md) for more information.