Message¶
Category: Listener Tier: Basic
Purpose¶
Listens for messages sent via Message Executor on a specific subject/channel, enabling object-to-object communication.
Visual Reference¶

When To Use¶
Event broadcasting (boss dies -> trigger cutscene)
UI updates (score changes -> update HUD)
State synchronization (button pressed -> open door)
Combat systems (projectile hits -> trigger damage)
Quest systems (item collected -> check quest completion)
Audio triggers (footstep -> play sound at location)
Runtime Behavior¶
Triggers: When a message with matching subject is received (stored in node metadata)
Properties¶
Property |
Type |
Default |
Notes |
|---|---|---|---|
Subject |
string |
For Listener: subject to listen for (empty=any). For Executor: subject to send |
|
Target |
string |
[Executor only] Target object name (empty = broadcast to all) |
|
Body Type |
option |
Text |
[Executor only] Send text message or property value |
Body/Property |
string |
[Executor only] Message text or property name to send |
|
Scope |
option |
Local |
[Executor only] Read property from local or global variables |
Example Use Cases¶
Door Opens When Button Pressed:
// Button object:
Collision(Player) -> AND -> Message(subject=door1_open)
// Door object:
Message(subject=door1_open) -> AND -> Motion(move up)
Broadcast Boss Death:
// Boss object:
Property(HP, Less or Equal, 0) -> AND -> Message(subject=boss_defeated)
// Multiple listeners:
Message(subject=boss_defeated) -> AND -> Music(victory)
Message(subject=boss_defeated) -> AND -> Scene(load_next_level)
Message(subject=boss_defeated) -> AND -> Property(quest_complete, Set, true)
Pass Data in Message:
// Sender:
Collision -> AND -> Message(subject=damage, body=25)
// Receiver:
Message(subject=damage, store_body=true) -> AND -> Math(HP, Subtract, $message_body)
// Subtracts the damage amount from message
Know Who Sent Message:
Message(subject=player_action, store_sender=true) -> AND -> PRINT($message_sender triggered action)