Been banging my head against foot IK on uneven terrain for the past few weeks and I feel like every tutorial either stops at "just use a raycast" or immediately jumps to some bespoke solution I can't replicate. So I want to know what people are actually shipping with.
My current setup in Unity is pretty standard: two raycasts per foot, lerp the foot IK target toward the hit point, adjust pelvis height based on the lower foot. Works fine on gentle slopes. Falls apart completely on anything with real geometry variation, stairs, rocky ground, sloped ramps with lips. The feet either slide, hyperextend, or the pelvis starts doing this horrible yo-yo thing when the character transitions between different height zones.

Specific things I'm still not happy with:
- Foot rotation: matching the foot normal to the ground normal looks great in isolation but creates really unnatural poses when the angle is steep. There has to be a clamp somewhere but where?
- Pelvis correction speed: if I lerp too fast it looks robotic, too slow and feet float. I've tried tying the speed to movement velocity but it's still not right.
- Transition blending: when the character steps off a ledge, the IK target suddenly has nowhere to go and the foot snaps. I'm zeroing out IK weight during jumps but the entry/exit is janky.
I've looked at how Unreal's Control Rig handles this with its Full Body IK solver and honestly it seems like a lot of the heavy lifting is just... done for you there. Which makes me wonder if I'm reinventing the wheel in Unity.
Are people writing full custom IK solvers for this, using Animation Rigging package chains, or is there a middleware solution worth paying for? And if you've got a Unity Animation Rigging setup that actually works on complex geometry, please share the general structure, I'll owe you forever.
