Use the Advanced Local Player API
Access structured Store operations, subscriptions, and package lifetime controls.
Most CalmUI nodes take a Player Controller directly. You do not need to fetch a subsystem to open screens, set or read scalar Store values, listen for one action, show notifications, read input prompts, or create a world surface.
Advanced nodes with a Target pin expose the object that manages UI for one player. Unreal calls it a Local Player Subsystem. Use it for structured object and keyed-array writes, fine-grained Store subscriptions, raw action dispatch, notification queue inspection, input profiles, or explicit package lifetime.
- In the Level Blueprint, add Get Player Controller.
- Leave Player Index = 0 for a single-player game.
- Add Get CalmUI Local Player Subsystem from CalmUI | Advanced.
- Connect the controller's Return Value to its Player Controller pin.
- Connect the subsystem's Return Value to Target on the advanced node.

This example uses the subsystem's Return Value as Target for two advanced nodes at once: Bind Event to On CalmUI Input Policy Changed, whose matching Custom Event receives the new Policy, and Is CalmUI Blocking Game Input, whose result feeds a Branch before printing the outcome.
Use that same Player Controller on Open CalmUI Screen. In a Player Controller Blueprint, use Self instead of looking up player 0. For split-screen, each player needs the object from their own controller.
Getting this object does not load a package. Before accessing package-backed values or subscribing, wait for Open CalmUI Screen → Completed or load the package first.
If the object is invalid, check that your controller belongs to a local player. A dedicated server has no local screen to control.