Will Navmesh Extension do what I need?



  • Background: *I am currently using the Unity Navmesh system on Unity free. The resulting navmash is massive with a huge number of polygons all in 1 navmesh due to the nature of the very complicated geometry (cave scene, very uneven everything, roots, rocks, debris, stuff sticking out of walls etc.).
    The navmesh is huge and I can't split it due to not having Pro Unity yet so no off navmesh links.

    The pathfinding for navmeshagents works well in that it gets them there properly but it is way too slow to work out the path. I have possibly 100s of AIs waiting for a new path at any given time so I have to play an idle animation while this finishes. When a games main character is surrounded by baddies who just stand there idle it looks bad & will ruin game play.*

    Can your Navmesh Extension solution take an existing Unity Navmesh and let me edit it so I can break it up?
    This would be great because I can start with the Unity automated navmesh generation, saving me hours in my massive scenes. Your editor looks great for tweaking but I like the automated system from Unity for making sure everything has the correct clearance to start with so my agents don't intersect walls etc. Then I want to break it up into areas with your Navmesh Extension .

    I am assuming that breaking up a big navmesh into multiple smaller ones should result in a significant speed up of pathfinding for my scenario, using SPS?
    What sort of path calculation time can I anticipate, (i.e. if have a navmesh that I break into 10 areas then presumably I can add a link between each area which SPS will then "know" how to get to from any of the 9 other areas so the speed up should be large, or is it not like that)?

    Lastly, can I have "separate" navmesh's and have the navmeshagent simply walk, (or at least appear to), from one to the other if the meshes are next to each other (i.e. I'd not want the sudden jump of location that a portal implies to me but perhaps there's way to have an portal that "knows" its purpose is to generate a seamless link)?

    If Navmesh Extension can do all that, I'm in, if not, I may try anyway if it will do some of what I need. Let me know...



  • Hi KB,

    I'm going to quote some of your questions to answer them one by one:

    Can your Navmesh Extension solution take an existing Unity Navmesh and let me edit it so I can break it up?
    No, it's the other way round. You would use NavMesh Extension to create a polygonal mesh in your scene, then use Unity's Navigation settings to build the actual NavMesh out of it. NavMesh Extension can't alter existing binary NavMesh data.

    I am assuming that breaking up a big navmesh into multiple smaller ones should result in a significant speed up of pathfinding for my scenario, using SPS?
    I don't know what "SPS" is you are referring to, but Unity's NavMesh system is already very effective on a large scale. It calculates the full path once, then just updates smaller segments until it reaches the end point. Having to calculate smaller parts of it is of course better than calculating the full scene for a path.

    Lastly, can I have "separate" navmesh's and have the navmeshagent simply walk, (or at least appear to), from one to the other if the meshes are next to each other
    You have to differentiate between meshes and NavMeshes here. You can certainly have separate polygonal meshes next to each other and let Unity build a connected NavMesh on top of that, but you cannot have separate NavMeshes in a scene. This is a limitation of Unity.

    I suggest checking out our video timelapse on how we built the example scene in NavMesh Extension, this will give you are very good overview of what this asset is capable of.
    https://www.youtube.com/watch?v=5YosSfqfN6w



  • Any plans to add an automated navmesh (i.e. as in the Navmesh Extension format navmesh) generating system to generate the navmesh that we could then edit as that would be a massive time saver with complicated scenes?

    The Unity navmesh is not very fast at doing path calculations. With my large scene it simple can't keep up with the requests from 100s of AIs and I end up with a backlog and huge numbers of AI waiting for their path to be calculated. I hope that breaking up the navmesh, with whatever system I end up using, will allow me to keep my planned 100's of AIs. How would you anticipate your solution will perform?



  • Any plans to add an automated navmesh (i.e. as in the Navmesh Extension format navmesh) generating system to generate the navmesh that we could then edit as that would be a massive time saver with complicated scenes?
    You can edit the polygonal meshes for the NavMesh, but you cannot edit Unity's NavMesh data. They don't expose the Navigation API to developers. Building a completely new navigation system would be more than out of scope for this asset.

    How would you anticipate your solution will perform?
    Honestly I don't think it will make much of a difference, because it is still using the default navigation system shipped by Unity. I can only predict that using smaller navigational areas are faster than having big areas with lots of unused space.


Log in to reply