Off-Mesh Links are used to create paths crossing outside the walkable navigation mesh surface. For example, jumping over a ditch or a fence, or opening a door before walking through it, can be all described as Off-mesh links.
We’re going to add an Off-Mesh Link component to describe a jump from the upper platform to the ground.
First create two cylinders: Game Object > 3D Object > cylinder.
You can scale the cylinders to (0.1, 0.5, 0.1) to make it easier to work with them.
Move the first cylinder at the edge of the top platform, close to the NavMesh surface.
Place the second cylinder on the ground, close to the NavMesh, at the location where the link should land.
Select the cylinder on the left and add an Off-Mesh Link component to it. Choose Add Component from the inspector and choose Navigation > Off Mesh Link.
Assign the leftmost cylinder in the Start field and rightmost cylinder in the End field.
Now you have functioning Off-Mesh Link set up! If the path via the off-mesh link is shorter than via walking along the Navmesh, the off-mesh link will be used.
You can use any game object in the scene to hold the Off-Mesh link component, for example a fence prefab could contain the off-mesh link component. Similarly you can use any game object with a Transform as the start and end marker.
The NavMesh bake process can detect and create common jump-across and drop-down links automatically. Take a look at the Building Off-Mesh Links Automatically for more details.
Is something described here not working as you expect it to? It might be a Known Issue. Please check with the Issue Tracker at issuetracker.unity3d.com.
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thanks for helping to make the Unity documentation better!