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.