Any tutorial or guide for multiple floors / ladders / etc..?

I’ve been looking around a bit for any guides on how to add floors to a building and the possibility to traverse between them (stairs, ladders), however so far I haven’t found any good guides.

Does anyone know of a guide for something like this? Or if not does someone know approximately how to do this?

Any help would be most appreciated.

Hi Beider,

maybe I can help you.

If you want to implement ladders in your scene than you have to follow this steps:

  1. create a recast graph (pro feature)
  2. create a point graph (for top and bottom points on each ladder)
  3. create a ladder object which goes from the ground to a higher level
  4. put two empty objects at the bottom and the top of the ladder and give them a tag (e.g. laddernavpoint)
  5. in the point graph enter the tag “laddernavpoint”. This will take your bottom and top empties into the point graph if you scan your graphs.
  6. create two links: on at the bottom of your ladder from the ground navmesh to the 1st point grid node. and the second one on the top of the ladder from the 2nd point grid node to a navmesh node on the 1st level.
  7. The initial penalty on the pointgraph should be set to a (in my case) very high value of 200000. This will prevent your character from always climb up the ladder :slight_smile:
  8. put a collider on your ladder with a trigger on it.
  9. put a script on your ladder which moves a character entering the ladder up AND forward. The character will leave the ladder on its own if it leaves the collider.

I wrote a little script which creates the links from the navmesh to the point grid automatically. It works like a charm. Maybe I will post it. Maybe sell it. Dont know. Needs a little bit of polishing.

I hope, my proposal works for you.



Important: the max distance in the pointgraph settings must be set to a value so only the two point nodes on one single ladder are connected. If you dont do that, each point of each ladder will be connected. The navigation will fail in this case.