Quick answer: Set Control Path to <Keyboard>/space (or similar device path). Action with that binding fires when button pressed.
Touch UI button. Action doesn’t fire. You wired Control Path to action name; expects device control path.
The Fix
UI Button GameObject:
+ OnScreenButton
Control Path: <Keyboard>/space
InputActionAsset:
Jump action with binding: <Keyboard>/space
C#:
jumpAction.performed += ctx => DoJump();
OnScreenButton injects synthetic input. Action listens to the same control. Touch -> synthetic press -> action fires.
Verifying
Tap UI button. Jump fires. With wrong path: no fire.
“Device path. Synthetic press. Action fires.”
Related Issues
For Virtual Mouse, see Virtual Mouse. For control scheme, see scheme.
Device path. Action fires.