36 releases (6 breaking)
| 0.7.0 | Oct 9, 2025 |
|---|---|
| 0.6.2 | May 16, 2025 |
| 0.6.2-alpha.3 |
|
| 0.6.1-alpha.1 | Mar 28, 2025 |
| 0.5.8-alpha.1 | May 1, 2025 |
#321 in Game dev
447 downloads per month
35KB
298 lines
bevy-butler
A set of procedural macros for making Bevy plugins and systems more self-documenting.
Version Compatibility
| bevy | bevy-butler |
|---|---|
0.17 |
0.7 |
0.16 |
0.6 |
0.15 |
0.5 |
Example
use bevy::prelude::*;
use bevy_butler::*;
#[butler_plugin]
struct MyPlugin;
#[derive(Resource)]
#[insert_resource(plugin = MyPlugin, init = Hello("World".to_string()))]
struct Hello(String);
#[add_system(schedule = Update, plugin = MyPlugin)]
fn hello_plugin(name: Res<Hello>)
{
info!("Hello, {}!", name.0);
}
#[add_system(schedule = Update, plugin = MyPlugin, after = hello_plugin)]
fn goodbye_plugin(name: Res<Hello>)
{
info!("Goodbye, {}!", name.0);
}
fn main() {
App::new()
.add_plugins(MyPlugin)
.run();
}
WebAssembly support
WebAssembly support is currently locked behind the wasm-experimental flag. See the relevant issue for more information.
Dependencies
~21MB
~390K SLoC