Get Rotation of floor, adjust character rotation and speed

I want to be able to find the steepness of the slope the character is standing/walking on and adjust the character’s rotation based off that value.
Specifically I want the character to match the slope angle on slopes of 0°-30°, but return to vertical by 50°.
Being able to adjust speed aswell (with more control than the “Maintain Horizontal Ground Velocity”) would be even better.
If possible could you post screenshots of the required blueprints, i’m new to UE4 and it would be a huge help!
(PS, at the moment i’m working from pretty much the base 3rd person mode, if that’s any help)

Hello, I don’t know if this is the best way to do this, but you can try setting up a hit event, then base your character movement/rotation and speed off of the values it returns.

Take a look at this answer: https://answers.unrealengine.com/questions/44584/how-to-get-the-angle-of-a-hit-surface.html

Use CurrentFloor of CharacterMovement component of your character
there is a HitResult element in this structure and in HitResult there is an Impact Normal use that to determine the floor angle