So I have the code for figuring out the movement vector, tho it seems getting the sampling of the groundnormal is actually kinda tricky. The ways I’ve tried ends up causing the player to snag at certain points where it transitions from one normal to another, i.e. transition between flat surface to hill. I’ll fiddle around with it and post my findings as an answer. or if someone has any input on how I should trace for the normal please feel free to help out:D