bevy-butler

Crates.iobevy-butler
lib.rsbevy-butler
version0.6.2
created_at2025-01-07 07:54:15.191054+00
updated_at2025-05-16 18:10:54.51502+00
descriptionA crate for making Bevy systems more self-documenting
homepage
repositoryhttps://github.com/TGRCdev/bevy-butler
max_upload_size
id1506857
size110,274
TGRCDev (TGRCdev)

documentation

README

bevy-butler

A set of procedural macros for making Bevy plugins and systems more self-documenting.

Crates.io License Crates.io Version docs.rs Crates.io MSRV

Version Compatibility

bevy bevy-butler
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.

Commit count: 180

cargo fmt