I have a 3D, third-person game which has wall running. I'm using states and a state machine based upon the mannequin 3D demo. While I can get the wall run to work, the character movement isn't that fluid. The player can easily turn around on the wall, which is what I'm not aiming for. Instead, I would like the player to run along the wall in an almost straight line, with the camera behind the player, similar with what is found in the game Star Wars Jedi: Fallen Order. Though I would also like player to have a bit more fluidity with their movement, like in the Titanfall games. So the player can run along the wall in a straight line, but still have the option to easily jump off the wall.
What should I consider when designing this? I was thinking of limiting the player inputs while they are on the wall (really in the "wall running" state). One of the hard parts in this, though, is getting a vector for the player to move parallel to the running surface.