SsimnJS Docs

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_component goes 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.verse file), or from the Elements list 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

KindWhat a click does
ButtonSends a click.
ToggleSwitches it On or Off.
ChoiceSelects it in its group, like a radio button.
TabSelects it and opens a screen of the widget.
SliderSets a value along its rectangle. Hold fire to drag it.
StepperMoves 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/: the WorldUIKit Verse module, its helper code (WorldUIKitLib), the crosshair dot texture and the WBP_WorldUIKit_Mark widget, used only by the ShowHitboxes debug 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.

On this page