How I rotate my character after teleporting him on a specific surface, like a wall?

If you want to rotate your character based on a vector you can use the function “Find Look at Rotation”. You then use your character as the start parameter and the target is where you want your character to look at.

I don’t really understand the part about walking on the surface though.