Quick answer: Add Async — Sequence event to the listening object. Filter by message string. Verify the sequence instance is still playing when broadcast fires.
A cutscene sequence broadcasts “scene_end”. The game controller object listening for it never triggers. Async event not handled.
Add Async Sequence Event
Object → Events → Add Event → Async → Sequence. In its code:
if (async_load[? "event_type"] == "broadcast") {
if (async_load[? "message"] == "scene_end") {
show_debug_message("Scene ended");
on_scene_done();
}
}
async_load is the broadcast payload. event_type="broadcast" gates non-broadcast events.
Verify Sequence Trigger
In Sequence Editor, add a Broadcast Event keyframe at the desired moment. Set the message string. Save sequence.
Sequence Instance Lifetime
Broadcasts fire only during playback. If the sequence instance was destroyed/stopped before the keyframe, no broadcast. Audit your stop-sequence logic.
Multi-Listener
Multiple objects can listen. Each handles in its own Async event. Don’t expect “singular receive” semantics — broadcasts are fanned out.
Verifying
Play sequence. Listener object logs the message at the right moment. Skip the sequence; no spurious messages.
“Sequence broadcasts are async fan-out events. Listen via the Async Sequence event, filter by message.”
For complex cutscene logic, also broadcast at start — lets HUD hide before action begins.