CalmUI
Blueprint

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?EventSetup
A button sends a named actionListen for CalmUI Action → On ActionChoose Package and Action after opening the Screen
One selected Store field changesOn CalmUI Store Field ChangedSubscribe To CalmUI Store Field for that field
A group of Store changes is committedOn CalmUI Store Batch CommittedBind 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

  1. Create a Calm Ui Store Field Reference variable. Compile, then choose its package and field in the variable's default values.
  2. After Open CalmUI Screen → Completed, call Subscribe To CalmUI Store Field with that reference and the player's subsystem as Target.
  3. Save Return Value. 0 means registration failed.
  4. Bind On CalmUI Store Field Changed on the same Target. Drag from its red Event pin to create a matching Custom Event.
  5. 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.
  6. Change the field using a Store setter.
After Open CalmUI Screen Completed: Subscribe To CalmUI Store Field on the Local Player Subsystem, save the subscription id, Bind Event to On CalmUI Store Field Changed with a custom event whose Patch is broken into Field Id, Value Json and Previous Value Json
Subscribe To CalmUI Store Field after Completed, save Return Value, bind On CalmUI Store Field Changed, and break Patch to read Value Json.

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

Event EndPlay calling Unsubscribe From CalmUI Store Field with the saved subscription id, then Unbind all Events from On CalmUI Store Field Changed
On Event EndPlay, pass the saved subscription number to Unsubscribe From CalmUI Store Field and unbind the event.

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.

On this page