#bevy-ecs #ecs #bevy #bundle

bevy_spawn_observer

Add observers to your bundles

2 releases

Uses new Rust 2024

new 0.1.0 Apr 25, 2025
0.1.0-rc.1 Apr 23, 2025

#1426 in Game dev

Download history 83/week @ 2025-04-18

83 downloads per month

MIT/Apache

34KB

bevy_spawn_observer

Crates.io Docs License

This crate provides SpawnObserver, a custom SpawnableList enabling you to add observers to your bundles.

use bevy::{ecs::spawn::SpawnWith, prelude::*};
use bevy_spawn_observer::SpawnObserver;

// With `bevy_spawn_observer`:
fn button_new() -> impl Bundle {
    (
        Button,
        Children::spawn(SpawnObserver::new(|_: Trigger<Pointer<Click>>| {
            info!("You clicked me!");
        })),
    )
}

// Without `bevy_spawn_observer`:
fn button_old() -> impl Bundle {
    (
        Node::default(),
        Children::spawn(SpawnWith(|parent: &mut ChildSpawner| {
            parent.spawn(Button).observe(|_: Trigger<Pointer<Click>>| {
                info!("You clicked me!");
            });
        })),
    )
}

See a full example here.

Bevy version compatibility

bevy version bevy_spawn_observer version
0.16 0.1

License

This crate is available under either of MIT or Apache-2.0 at your choice.

Dependencies

~9–15MB
~194K SLoC