Receive Events
Run Blueprint when a button sends an action or a game value changes.
Choose the event for the result you need:
| When should Blueprint run? | Event | Setup |
|---|---|---|
| A button sends a named action | Listen for CalmUI Action → On Action | Choose Package and Action after opening the Screen |
| One selected Store field changes | On CalmUI Store Field Changed | Subscribe To CalmUI Store Field for that field |
| A group of Store changes is committed | On CalmUI Store Batch Committed | Bind the event; no field subscription needed |
Receive a button action
Follow Make a button run Blueprint. It includes the Studio button, selected action, subscription, event binding, and response.
Wait for Open CalmUI Screen → Completed before subscribing. Save the
subscription's Return Value and check that it is greater than 0. Use the same
player's subsystem for the subscription and event binding.
Watch a Store field
- Create a Calm Ui Store Field Reference variable. Compile, then choose its package and field in the variable's default values.
- After Open CalmUI Screen → Completed, call Subscribe To CalmUI Store Field with that reference and the player's subsystem as Target.
- Save Return Value.
0means registration failed. - Bind On CalmUI Store Field Changed on the same Target. Drag from its red Event pin to create a matching Custom Event.
- Split the event's Patch pin to inspect Field Id, Value Json, and Previous Value Json. These give the changed field and its new and old data.
- Change the field using a Store setter.

After Open CalmUI Screen → Completed, Subscribe To CalmUI Store Field
runs on the Get CalmUI Local Player Subsystem target with PlayerNameField,
saving its Return Value into PlayerNameSubscription. Bind Event to On
CalmUI Store Field Changed on the same target creates the custom event
OnPlayerNameChanged (Patch), whose Patch is broken apart with Break
CalmUiStorePatchEvent to print Value Json.
The event reports future changes; subscribing does not send the current value. Use the matching Get CalmUI node for an initial read. Writing the same value again does not send another change event.
If you subscribe to several fields, compare Field Id before acting on a notification. A binding receives changes for all subscribed fields on its subsystem.
Stop listening

On Event EndPlay, pass each saved subscription number to its matching Unsubscribe From CalmUI Action or Unsubscribe From CalmUI Store Field node. Then call Unbind all Events from On CalmUI Store Field Changed on the same subsystem target: it clears every Custom Event bound to that delegate, not just the one you created. Avoid registering duplicate listeners when a menu opens again.
If you change Store or action definitions while Play is running, restart Play to repeat setup: reloading a changed definition clears the current subscriptions.