Skip to content
Plugin 1.0 · Unreal Engine 5.8Source snapshot · Version details

Input and inventory UI ​

Input-device tracking ​

URicInputSubsystem is a local-player subsystem. Use GetCurrentInputType() or GetInputType(ContextObject) to choose mouse/keyboard, gamepad, or touch presentation.

Bind OnInputMethodChanged to update prompts. The subsystem also provides SetCursorPosition and SetSimulatedMouse.

Although FRicAnalogCursor exists, this version's input subsystem does not create it automatically. Do not assume that installing the module enables gamepad cursor navigation without additional integration.

Create a drag payload ​

Subclass the abstract URicDragPayload and store the data your UI needs, such as an item GUID, source container GUID, and proposed rotation.

The base payload has no built-in item fields. Populate your payload from the current inventory view.

Connect a drag session ​

  1. Obtain URicDragAndDropHelperSubsystem from the game instance.
  2. Call StartDrag(Payload).
  3. Use OnDragStarted to show the drag visual.
  4. Resolve the target widget, container, and slot.
  5. Call the predicted inventory's GetDropAction and ProcessDrop.
  6. Finish with EndDrag(SlotIndex, Result), including on cancellation.

GetWidgetOfClassAtScreenPosition accepts blocking widget classes for hit testing. The helper manages the drag session and events; it does not perform the inventory mutation itself.

Context menus ​

ShowContextMenu and CloseContextMenu notify listeners through OnShowContextMenu and OnCloseContextMenu. Your widgets render the menu and invoke the chosen item action.

Refresh widgets ​

Use manager events for an authoritative presentation, or predicted synchronization/container subscriptions for the client view. Resolve an item's visual data through a visual resolver.

Re-resolve pointers by GUID after synchronization. Cancel stale drags when the referenced item is removed, and unbind widget delegates when the widget closes.