Can NavMesh Extension do this?

  • My project has an open streaming world handled by splitting the world area into 200x200 scenes and additive loading / unloading as needed in runtime.

    I've tried everything I could think of with the normal unity navmesh's, the most successful seems to be baking a navmesh for every scene and then manually creating offnashmesh links to make the jump, however this raises several issues of it's own, while is generally works as far as allowing movement from one scene to the other:

    1. the majority of the scenes are completely open to each other, and to make the entire edges link to eachother would require manually making about 800 offmesh links per scene...  waaaayyy more manual work than I'd like

    2.  the offmesh links seem to have a "jumping" aspect to them that I'd rather avoid, i've read up on them some and about how I could script the process to smooth out the transition, again, hoping to find an easier solution

    what caught my eye was the bullet point "merge multiple navmeshes into one"  or "save navmeshes as prefabs"

    would it be possible to either as I load / unload scenes to merge the active scenes navmeshes into one at runtime?  Basically rebuilding the navmesh to contain only the active scenes at each load change?

    or is it possible to have multiple navmesh prefabs in a single scene?  if so I have a primary scene "all scenes" where the entire world is laid out all put together, if i could have the separate navmeshs generate offmesh links automatically and then have them maintain those links as the scenes load and unload during play, that would work well I think.

    Any other suggestions are welcome, I may have overlooked or not thought of a solution using the basic unity navmeshes, but as far as I can tell I cant work with the individual navmeshs on the same scene to have them automatically generate the links.


  • Hi there and thanks for your interest.

    The bullet points you've seen should read "Merge multiple meshes into one" and "Save meshes as prefabs". Notice the difference between NavMesh and mesh. While this is already correct on the Asset Store page, it still lists as NavMesh on our website, which is an oversight on my part.

    NavMesh Extension lets you create meshes (not NavMeshes!) for use with Unity's navigation system, which can be baked to NavMeshes. It is not possible to directly create, alter, instantiate, merge, or modify NavMesh data in any way. Also see this topic.

    When it comes to additive loading and runtime instantiation, I usually recommend a different navigation system other than Unity's built-in one (such as A* Pathfinding), because its API is closed and far far far far away from being useful in that area.

  • Thanks for the info and the direction

    I'm checking out A* now

    Thanks for the info and the direction of the Capsiplex.

    I'm checking out A* now

    How did your project go Makarios?

  • Just as an addendum as you've brought this topic from 2015 back to the light: what I've said about additive loading back then is mostly invalid now since this is actually supported by Unity in 5.6.

Log in to reply