World UI Kit
Make any Widget Blueprint clickable in the world. Players aim at an element, your widget lights it up, they click.
World UI Kit turns a Widget Blueprint placed in your level into an interface players use without leaving the game. They aim at a button, your widget lights it up, and they click by firing, by pressing E, or with the native interact button on mobile and controller. There is no UI mode and no cursor, so gameplay never stops.
The kit handles the interaction; your widget keeps its own look. You describe where its clickable elements are, and the kit tells your widget what is hovered, clicked, on or disabled.
How it works
interactive_widget_componentgoes on the widget entity. It follows each player's aim, finds the element under the crosshair and handles the clicks.- A layout says where the elements are, in widget units. It comes from the free online editor
(a generated
<wbp>_layout.versefile), or from theElementslist in the Details panel. - The kit draws nothing on your widget. It writes Verse fields of your WBP (
BuyHover,MusicOn,VolumeFill…), and your WBP shows hover, click and states itself, with its own widgets or animations. The editor tells you which fields and bindings to add. - Your actions run in Verse (
ClickedEvent,SubscribeClicked…), or, without code, through trigger devices.
Elements
| Kind | What a click does |
|---|---|
Button | Sends a click. |
Toggle | Switches it On or Off. |
Choice | Selects it in its group, like a radio button. |
Tab | Selects it and opens a screen of the widget. |
Slider | Sets a value along its rectangle. Hold fire to drag it. |
Stepper | Moves a slider by a number of steps. |
Inputs
- Fire while aiming clicks the element. Holding fire on a slider drags it.
- E, and the native interact button on mobile and controller, click the element under the crosshair.
- A small dot at the centre of the screen grows over clickable elements.
Each input can be turned off in the settings.
Shared or per player
With States set to Shared, everyone sees the same states: a door panel, a vote. With PerPlayer, each player has
their own toggles, choices, sliders and screen: a settings menu, a shop. See Shared and per-player
states.
What the package contains
WorldUIKit/: theWorldUIKitVerse module, its helper code (WorldUIKitLib), the crosshair dot texture and theWBP_WorldUIKit_Markwidget, used only by theShowHitboxesdebug option.WorldUIKit/Widgets/WBP_WorldUIKit_Demo: a demo settings panel that shows its own states from its fields, with its layout and logic components.
There is no other dependency.