Triggering Widgets
This guide shows how to use the Gameplay Messaging System to trigger UI updates or widget creation in Unreal Engine — without any direct references or complex event binding. We'll broadcast a message from gameplay logic (e.g., a door interaction) to update a HUD widget in real time.
Overview
You can send structured data from any Actor, Blueprint, or system to your UI using gameplay messages. This decouples your gameplay logic from your UI, making it easier to maintain and extend.
In this example:
- A Door Actor sends a message when opened or closed.
- A HUD Widget listens for that message and updates a text field.
Step 1: Create the Payload Struct
We'll create a simple struct to carry data from gameplay to the UI.
- In the Content Browser, right-click → Blueprint → Structure.
- Name it
HUDEventPayload. - Add a Text variable named
EventText.
Tip: Use descriptive names. This struct can be expanded later (e.g., to include icons, colors, or duration).

Step 2: Set Up the HUD Widget
The widget will listen for incoming messages and update its UI accordingly.
-
Open your HUD Widget Blueprint (e.g.,
WBP_HUD). -
In Event Graph, add a Listen for Gameplay Messages node on Event Construct or Begin Play.
-
Configure the node:
- Channel:
HUD.Event(create this tag in Project Settings > Gameplay Tags) - Payload Type:
HUDEventPayload
- Channel:
-
From the On Message Received pin:
- Pull the
EventTextfrom the payload. - Set it to a Text Block in your widget (e.g., named
EventText).
- Pull the

Step 3: Broadcast the Message from Gameplay
Now trigger the message from any actor — in this case, a door.
- Open your Door Actor Blueprint.
- In the interaction logic (e.g., on open/close), add a Broadcast Gameplay Message node.
- Configure:
- Channel:
HUD.Event - Payload: Create a new
HUDEventPayload - Set
EventTextto something like"Door Opened!"or"Door Closed."
- Channel:
You can dynamically construct the message based on context (player name, door ID, etc.).

Step 4: Test the Result
- Add the HUD Widget to your viewport (via Player Controller or Game Mode).
- Play in Editor (PIE).
- Interact with the door.
Result: The text in your HUD updates instantly!

Benefits of This Approach
| Feature | Benefit |
|---|---|
| No References | Door doesn’t need to know about the HUD |
| Reusable | Same message can update multiple widgets |
| Scalable | Add more UI elements (icons, animations, sounds) easily |
| Designer-Friendly | All logic in Blueprints, no C++ required |
Advanced Tips
- Multiple Listeners: Any number of widgets or systems can listen to
HUD.Event. - Filtering: Use additional tags (e.g.,
HUD.Event.Door,HUD.Event.Player) for specific updates. - Auto-Remove: Add a timer in the widget to fade out messages after a few seconds.