Effective way of dealing with ladders and ropes


New member

Thought I'd share a 'hack' of sorts which allows characters to climb up/down ladders and ropes in First Person mode (probably would work in Third Person too, but there are no animations in this method so it would look crummy). This method only works with the Agility pack because you need the Slide ability.

The method works by allowing the character to Slide on surfaces above, say, 45 degrees and below, say, 60 degrees, but move on surfaces up to 85 degrees in steepness. If you attach suitable colliders to your ladders and ropes (angled at 15 degrees), the character can easily move up or down them. The Slide limit prevents the character from being able to climb up things he/she shouldn't. For ropes which can be mounted from any side, I simply made a simple tapered cylinder mesh collider around the rope (the top being smaller than the base). This diagram should help explain it:

The result is surprisingly smooth, all things considered. So much so, that I don't feel the need to explore a better solution (unless Opsive releases a climbing addon). The character can climb up/down by looking in the right direction and moving forwards/backwards, can stick in place, can jump off. A bit of care is needed not to fall off at times, but that's surely better (more challenging) than a totally reliable system in which no care is required. I haven't tried this yet, but I guess the ladder/rope colliders can be given specific Surface qualities to make laddery and ropey noises as you 'walk' on them.

The only issue, of course, is that the animation that results is the normal movement one. For my project this is not an issue (since the character model isn't seen), but if you wanted to see feet and hands grasping/stepping on the ladders this wouldn't work as it is.

Have fun,
This is very clever. I'm going to try this myself when the time comes. Any screenshots of your actual settings or a YouTube video of it in action, along with a tour of you configs in Unity, would be awesome.