Skip to content

Pattern — Messenger Bridges

Two messenger systems decouple senders and receivers. Choose based on scope: one device vs the entire level.

sequenceDiagram
  participant Mail as BP_Prog_Mail
  participant DM as Device Messenger
  participant TB as Taskbar widget
  Mail->>DM: Broadcast("MailReceived", payload)
  DM->>TB: Begin Listening callback
  TB->>TB: Show unread badge
sequenceDiagram
  participant Cmd as BP_CMD_ToggleDoor
  participant GM as UGlobalMessageSubsystem
  participant Door as Level actor
  Cmd->>GM: BroadcastMessage(Message.OS.Door.Toggle)
  GM->>Door: ListenToMessage callback
  Door->>Door: Open / close
Device MessengerGlobal Messenger
ScopeOne device / OS instanceEntire world
IdentifiersFName event namesGameplay tags
Typical useMail badge, battery HUD, theme changeTerminal → door, OS → gameplay