Forcing a character to move along a wall

So I have a 3rd person character with a cover system. He does a line trace forward to find if he is in cover or not. When he enters cover it sets a variable that he is in cover.

  1. Now I want my character, while in cover to always face the wall he is against. If I break the hit and get the impact point, then rotate the character in that direction, this is less than ideal if the player approaches the cover at an off angle. The character then locks into this off angle and will slowly make his way away from the object and pull him out of the cover zone. I need him to move along the surface.

  2. The second issue is the camera. It’s on a spring arm and inherits pitch, yaw, and uses pawn control rotation. If the character is locked into a single facing, I still want the camera to move around him. I don’t know how to “unlock” the camera and move it without moving the characters facing.

the first point I know HOW to do, but have never done it so without spending real time on it I cant answer that easily right now. But for your second point “1”.

Just do this and reverse it when you want to undo it.