Hi! thanks for the response I’ve been playing around with the wallride mechanic since and I have gotten around to a result that I am happy with.
Instead of a line trace I used a single capsule trace that originates from the middle of the character, this is so it can get the impact normal of surfaces that line traces arent accurate enough to detect.
I then took that impact normal and added a negative impulse to make sure the character wouldnt just fly off the surface (this would happen with a cylinder for example)
After that I just launch the character based on its forward vector which enables it to wallride at the velocity it starts the wallride on
I think the most important part of the mechanic is the capsule trace as the linetrace is unable to detect the more complex objects that I was willing to wallride on.
Also for the rotation of the character I took the impact normal and added/subtracted 90 degrees depending on which side I started the wallride