CalmUI
Blueprint

Blueprint

Show a menu, make its buttons work, and display game values without writing C++.

Start by showing a View you created in Studio. Then connect its buttons to Blueprint and supply the game values it displays.

A View in Studio is called a Screen on Unreal's Blueprint nodes. A Package contains Views you prepare together in Studio and load in Unreal.

I want to…Follow this guide
Display my menu when the level startsShow your first screen
Make an Exit button close the gameMake a button run Blueprint
Close or reopen a menuClose a screen
Show the player's name, health, or scoreUpdate game values
Respond when a game value changesReceive events
Show a queued UI notificationShow notifications
Put a View on a mesh render targetCreate a world surface
Prepare values and listeners before a View opensLoad a package first
Build complete Blueprint workflowsHow To

Find the nodes

Right-click the Event Graph and type CalmUI to filter the action menu down to every CalmUI node, grouped under CalmUI, CalmUI | Advanced, and CalmUI | Input.

Blueprint action menu filtered by the word CalmUI, showing the Calm UI category with Actions, Advanced and Input nodes
Right-click the Event Graph and type CalmUI to list every CalmUI node.

The order matters

Event BeginPlay connected to Open CalmUI Screen; Completed runs Set CalmUI String, Failed runs Print String with Error Message
Use Completed for anything that needs the loaded package and Failed to print the Error Message.

Event BeginPlay connects to Open CalmUI Screen. Its Completed output runs Set CalmUI String. Anything that reads or writes game values belongs here, after the package has loaded. Its Failed output runs Print String with Error Message, so a load failure is visible instead of silent.

Use Completed for anything that needs the loaded package. Merely placing a node after the upper execution output does not wait for loading to finish.

The everyday Screen, Store, action-listener, notification, input-prompt, and world-surface nodes take a Player Controller directly. Use the same player's controller throughout the graph; CalmUI resolves the correct Local Player for you.

Beginner and advanced nodes

Start with the compact nodes under CalmUI, CalmUI | Store, CalmUI | Actions, CalmUI | Notifications, CalmUI | Input, and CalmUI | World Surface. They hide subsystem lookup, internal numeric IDs, and JSON.

Use CalmUI | Advanced when you need structured object or keyed-array writes, fine-grained subscriptions, raw payload dispatch, package lifetime control, or direct world-surface UV routing. Those nodes use the Local Player subsystem or World subsystem explicitly. The advanced API extends the same runtime; it is not a second Blueprint integration.

CapabilityStart hereGo advanced for…
Screens and layersOpen, show, hide, close, push, pop, HUD, and Modal with a Player Controllerexplicit package lifetime, references, focus owner, and layer diagnostics
Storetyped scalar get/set and Begin/Commit/Rollback batchstructured objects, keyed arrays, subscriptions, raw IDs, or JSON
Actionsone selected listener and Boolean/String/Integer/Float payload readersshared subscriptions, checked dispatch, and detailed events
Notificationsconfigure, enqueue, and dismissqueue inspection, pause/clear, request validation, and action resolution
Inputcurrent CalmUI or Enhanced Input prompt and input methodprofiles, rebinding, mapping delegates, and custom host input reporting
World surfacescreate, destroy, visibility, hit/trace input, navigation, Accept, and Backdirect UV/wheel routing, counts, and explicit rendering policies

The Blueprint node reference lists individual nodes. The guides above show how to connect them into working tasks.

On this page