18 releases (4 breaking)
new 0.5.4-alpha.2 | Jan 28, 2025 |
---|---|
0.5.3 | Jan 27, 2025 |
0.4.0 | Jan 12, 2025 |
0.3.0 | Jan 9, 2025 |
0.1.1 | Jan 7, 2025 |
#262 in Game dev
1,041 downloads per month
29KB
265 lines
bevy-butler
A set of procedural macros for making Bevy plugins and systems more self-documenting.
Version Compatibility
bevy | bevy-butler |
---|---|
0.15 |
0.5 |
Example
use bevy::prelude::*;
use bevy_butler::*;
#[butler_plugin]
pub struct MyPlugin;
#[derive(Resource)]
#[resource(plugin = MyPlugin, init = Hello("World".to_string()))]
pub struct Hello(pub String);
#[system(schedule = Update, plugin = MyPlugin)]
fn hello_plugin(name: Res<Hello>)
{
info!("Hello, {}!", name.0);
}
#[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
~15–26MB
~358K SLoC