Quick answer: Add VirtualMouseInput on a UI cursor. Map StickAction to OnScreenStick. EventSystem uses InputSystemUIInputModule.
Console-style UI on mobile. Touch joystick should move a cursor over buttons. Cursor stays put.
The Fix
UI hierarchy:
Canvas
+ VirtualMouseInput (component)
Cursor: CursorImage (RectTransform)
Cursor Speed: 800
Stick Action: "UI/MoveCursor"
Left Button Action: "UI/Select"
+ OnScreenStick (binds Stick to Move action)
+ OnScreenButton (binds Select)
VirtualMouseInput synthesizes a Mouse device. Bound stick drives cursor position; bound button drives clicks. Standard EventSystem dispatches to UI.
Verifying
Touch stick moves cursor over button. Touch button activates Select. UI responds.
“Virtual cursor. Stick + button. UI clicks.”
Related Issues
For Input rebind cancel, see rebind. For control scheme, see scheme.
Virtual mouse. UI clicks.