I want to use the following code to bind the w key to a certain function:
contextAction:BindAction("W function",function()end,false,Enum.KeyCode.W)
However, when I try to use this at the start of the game, the w has not yet been bound by the default character movement binding. So, if I try to use this binding immediately, it would just get overridden by the the later default binding.
So, I came up with two possible solutions, and I would like to have your opinion/solution:
1] unbind the default character movement binding somehow (I don't know how to access it) and then rebind after I finish the function I want to do, or
2] force the binding of the character movement binding at the start of the game so that I can temporarily disable it (Enum.userInputState.Cancel) when I bind another function and then re-enable it once I end my other function.

2 comments
If you don't want the character to move during this, you could just anchor its head or set its walk speed to 0
Oh, that's a good idea because I didn't unbind the other keys (a,s,d). Thanks for the advice!