Is best location for movement in player controller or pawn BP? if wanting to posses pawns

I have created a player controller for my pawn and have put all the movement within the controller, these movements include things like “hold shift to sprint”, "look around with mouse when there are no forward inputs"and “strafe left and right”, this is all working fine. I now want to implement the ability to posses a vehicle, where should i put the vehicle movement so that it doesn’t conflict with the current movement eg the vehicle will turn when “A” is pressed rather than strafe,should my current movement be moved to the player bp rather than the controller bp or is there a way to tell the controller that the inputs now require different movements?

Not sure about BPs but it’s pretty easy to do that with C++. You just have to set the input component’s priority in your vehicle to be higher than that of the player controller’s input and enable it once the vehicle gets possessed. That will make the vehicle process “A” before the player controller. You can also prevent all other input components ever seeing any input by setting bBlockInput to true in your vehicle’s input component.