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.