Binding an Action to a Movement Key Stops Key Movement Input

Binding a function to W stops forward movement, as demonstrated in this clip:

Here’s the repro I made: movementStopBindBugRepro.rbxl (69.7 KB)

This bug occurs with WASD, the spacebar, etc.

Expected behavior

For every bindable key, the default action should continue in cases where the function returns Enum.ContextActionResult.Pass

Hi, this is intended behavior. When you bind over an already existing keycode, it sends a Enum.UserInputState.Cancel to the other bound functions. This is why you see the player stop walking.

P.S. Amazing repro file.

Ah, is there a workaround for this? I’m trying to avoid switching to the UserInputService as the ContextActionService has more features I’m using in my system

Haha, thanks, I try

Your only option would be to fork the player scripts and handle the cancel case in the function that listens for W or Enum.PlayerActions.CharacterForward