Controller-first virtual cursor for UMG: one subsystem per local player, analog stick driving, and optional sticky slowdown and snap targets.
Installation
Add the plugin via the Epic Games Marketplace or place the plugin folder in your project's Plugins directory.
Enable the plugin
Open Edit → Plugins, search for Universal Virtual Cursor, and enable it. Restart the editor when prompted.
Quick start
- From a
PlayerController, getLocalPlayer, then get UVirtualCursorSubsystem . - Call
EnableVirtualCursor()when your UI should accept controller-first cursor input. Repeated calls for the same player are safe. - Set Show Mouse Cursor and input mode in your own game flow (e.g. Game + UI for menus). The plugin does not infer mouse-vs-gamepad UI mode.
- Add UVirtualCursorTargetComponent to widgets that should participate in sticky slowdown or snap.
- Inherit from UUniversalVirtualCursorWidget if you want built-in drag-drop helpers and target overlap forwarding.
Project settings
Go to Project Settings → Plugins → Universal Virtual Cursor. Tune gamepad broadcast, analog cursor motion, sticky slowdown, and parallax defaults.