Build a HUD with Store Data
Open a HUD and update text and progress values from Blueprint.
This tutorial creates a small status HUD. Unreal remains the owner of the data; CalmUI presents the current values.
Prepare the View in Studio
- Create a View named
StatusHud. - Set its layer to
hudand input policy topassthrough. - In Store → State Groups, create group
status. - Add string field
titleand float fieldprogress. - Select each field and copy its binding example. Use it for the title and progress text in your component, following Define game data and preview values.
- Save and wait until package
Gameplayis Up to date in Unreal.
Open it from Blueprint
Open your Player Controller Blueprint, for example BP_PlayerController.
Use this controller because the HUD and Store belong to one Local Player.
BeginPlay flow
Event BeginPlay
Open CalmUI HUD
CalmUI
In: Player Controller: Self · Package: Gameplay · Screen: StatusHud
Out: Completed · Failed · Screen Reference · Error Message
Set CalmUI String
CalmUI|Store
In: Player Controller: Self · Field: status.title · Value: Ready
Out: Boolean
Set CalmUI Float
CalmUI|Store
In: Player Controller: Self · Field: status.progress · Value: 0.75
Out: Boolean
Connect both setters from Completed, not from the unlabeled immediate output.
Create Calm Ui Store Field Reference variables for status.title and
status.progress. Select package Gameplay and the matching Field Path in each
variable's defaults. Connect Failed → Print String, using Error Message.
Compile and play. The HUD should show Ready and 0.75. When the authoritative
progress changes, call Set CalmUI Float again with the current value.
Advanced: publish related values together
Use Begin CalmUI Store Batch, the same compact setters, then Commit CalmUI Store Batch. If a setter fails, call Rollback CalmUI Store Batch. The View then observes one ordered batch instead of partial state.
If the HUD stays empty
- Print Error Message from Open CalmUI HUD's Failed output.
- Check that the package and Screen are selected on the node.
- Check each setter's Boolean result.
- Confirm each field reference points to the same package and exact field type.
- Use the same Player Controller for opening the HUD and every Store write.