bevy-events-messaging
Installation
SKILL.md
Bevy events and messaging
When to use
Load this when one system should notice that something happened without storing that fact on every entity. Pick the mechanism from the pages below. Do not invent a third channel.
ECS shape
- Messages (pull).
bevy::ecs::message0.20.0 defines theMessagetrait as a buffered message for pull-based handling.MessageWriterwrites.MessageReaderreads and tracks what it already saw.Messagesholds what occurred within the last twoMessages::updatecalls.message_update_systemcallsMessages::updateon registered messages.signal_message_update_systemsignals that update afterFixedUpdatesystems. Check theAppdocs for message registration helpers before writing a method name. - Events (push). The
Eventtrait page: deriveEvent, add an observer, trigger. The sample usesWorld::triggerandworld.add_observerwithOn<Speak>.Commands::triggeris also named. Observers run immediately inside the trigger call.Event::Triggerdefaults toGlobalTriggerfor derived events. - Observers.
bevy::ecs::observer: anObserveris a component that holds a system.Onis the system parameter that processes the event.EntityEventis the page's pointer for events that target one entity. Check that trait page for method names before writing them. - State transitions.
bevy::statedocumentsStateTransitionEvent<S>when stateSchanges. That type lives with states. See bevy-state-machines.