A simple to use class that enables your CharacterBody3D to handle stairs properly.
Mainly tested with the Jolt physics engine and cylinder colliders, not guaranteed to work well with anything else - but try it!
- Make your character controller extend
StairsCharacterinstead ofCharacterBody3D. - Ensure your character's collider is named 'Collider'.
- Every frame, set
DesiredVelocityto the desired direction of movement. - Call
MoveAndStairStep()instead of callingMoveAndSlide(). - Done!
Ensure your character collider's margin value is set low - at most 0.01. Anything higher might cause snags. If you find that you're still snagging on ledges, lower it some more.