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 starts | Show your first screen |
| Make an Exit button close the game | Make a button run Blueprint |
| Close or reopen a menu | Close a screen |
| Show the player's name, health, or score | Update game values |
| Respond when a game value changes | Receive events |
| Show a queued UI notification | Show notifications |
| Put a View on a mesh render target | Create a world surface |
| Prepare values and listeners before a View opens | Load a package first |
| Build complete Blueprint workflows | How 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.

The order matters

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.
| Capability | Start here | Go advanced for… |
|---|---|---|
| Screens and layers | Open, show, hide, close, push, pop, HUD, and Modal with a Player Controller | explicit package lifetime, references, focus owner, and layer diagnostics |
| Store | typed scalar get/set and Begin/Commit/Rollback batch | structured objects, keyed arrays, subscriptions, raw IDs, or JSON |
| Actions | one selected listener and Boolean/String/Integer/Float payload readers | shared subscriptions, checked dispatch, and detailed events |
| Notifications | configure, enqueue, and dismiss | queue inspection, pause/clear, request validation, and action resolution |
| Input | current CalmUI or Enhanced Input prompt and input method | profiles, rebinding, mapping delegates, and custom host input reporting |
| World surfaces | create, destroy, visibility, hit/trace input, navigation, Accept, and Back | direct 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.