-
Notifications
You must be signed in to change notification settings - Fork 0
6.3 Dispatchers of the Subsystem
The BDC_DialogBackend_Subsystem acts as the central hub for the entire Dialog System.
Its Event Dispatchers (Delegates) are Global, meaning they fire for every dialog interaction in the game, regardless of who is speaking.
This makes them the perfect place for Game-Loop logic, UI management, and Analytics.
| Event | Description |
| OnDialogStartedGlobal | Fired when any dialog begins. |
| OnDialogFinishedGlobal | Fired when any dialog ends. |
| OnDialogUpdatedGlobal | Fired every time the dialog advances to a new node (Message, Option, etc.). |
| OnReceivedEventGlobal | Fired when an Event Node is processed. Handles custom game logic. |
| OnReceivedBeaconGlobal | Fired when a Beacon Node is processed. Handles lightweight signaling. |
| OnMessageLinkClicked | Fired when a player clicks a Rich Text <link>. |
| OnMessageLinkHovered | Fired when a player hovers over a Rich Text <link>. |
| OnMessageLinkUnhovered | Fired when a player stops hovering a Rich Text <link>. |
These are parameterless events identical to the Manager Component's versions. They exist in the Subsystem for convenience, allowing you to bind logic directly in GameInstance or other Managers without needing a reference to the specific ManagerComponent in the level.
This event fires continuously during a conversation, every time the content changes.
| Name | Type | Description |
| NewDialogData | ![]() |
Contains the full data of the current node: Speaker Name, Text, Avatar, Audio, Tags, etc. Use Case: Updating a "Log / History" widget that records every line of dialogue spoken in the game. |
This is the global version of the Participant's Event. It is useful for events that affect the World rather than a specific Actor.
| Name | Type | Description |
| EventTag | ![]() |
The ID of the event (e.g., World.Weather.Storm). |
| EventValues | ![]() |
Parameter values (Integers, Floats, Bools, etc.). |
| MassTags | ![]() |
Collection of flag tags. |
| Additionals | ![]() |
Object/Class references. |
-
Weather Control: Changing the time of day or weather (
Event.SetWeather+ String "Rain"). - Level Streaming: Loading a new level or sublevel.
- Quest Updates: Updating a global quest tracker that isn't tied to a specific NPC.
Beacons are lightweight signals usually used for tutorial hints or quick UI triggers. They carry less data than full Events.
| Name | Type | Description |
| BeaconName | ![]() |
The ID of the beacon (e.g., Tutorial_Jump). |
| BeaconData | ![]() |
A list of string data associated with the beacon. |
These events fire when the player interacts with Rich Text that has the <link> tag applied.
Example Tag: <link name="Potion" id="ItemID_01">Health Potion</>
| Name | Type | Description |
| ObjectName | ![]() |
The name attribute from the tag. (e.g., "Potion"). |
| Identity | ![]() |
The id attribute from the tag. (e.g., "ItemID_01"). |
| ClickedOnViewport | ![]() |
The absolute pixel position of the Mouse when the click/hover occurred. |
| LinkPositionOnViewport | ![]() |
The absolute pixel position of the Link's top-left corner on the screen. Crucial for Tooltips: Use this to spawn a tooltip widget right next to the text. |
- Tooltips: Show an Item Card when hovering over an Item Name in the text.
- Hyperlinks: Open a Wiki page or Codex entry when clicking a keyword.
- Map Markers: Ping a location on the minimap when hovering over a location name.
I. What is the Dialog Backend?
II. Setting up
|





