Thanks for the tip!

The movement is basically a static platform engine which rotates. Shig has invisible sensors like your usual sensor-based static platform movement, but the sensors rotate around him to fit the shape of the ground. A bit of trigonometry to work out the positions of the sensors (an earlier version I did had the sensors rotate based on animation, but this way worked out more accurate), if the slope sensors aren't both touching the ground then they rotate until they both are, and there are further sensors to push them back out of the ground if they're too far in (for upward slopes, etc), and the platform movement and shig himself are rotated accordingly.