Quick answer: Unity Input System action callbacks not firing canceled events when switching control schemes? Mode switch disposes pending callbacks - subscribe to controlSchemeChanged and clean up state.

Player swaps from keyboard to gamepad mid-press; held action gets no cancel; gameplay stuck.

Listen for scheme change

PlayerInput.controlSchemeChanged: invoke cancel callbacks for held actions. State recovered.

Or use both schemes simultaneously

Don't switch; allow both. Held actions tracked via either.

Reset on mode change

InputAction.Reset() on the active action. Clean state.

“Control scheme switches drop pending state. Recovery is responsibility.”

If your game supports control scheme switching, the cleanup pattern is mandatory.

Related reading