Smooth Hill rigid body movement

I am using a very simple rigid body character controller that I wrote, but due to the script only providing left and right forces, when trying to move up hill my character will not do it. Going down hill my character just fly off the hill.

Could someone help me, i wish to try and make the force act at a tangent to the character/the direction of the plane.

(i have a raycast script just so you know) (Game is 2d)

I dont want an answer just some people to discuss some ideas with me

Raycast down, get normal of hit point, then apply force based on that direction?