Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Question Is anyone at unity actually working on Navigation

Discussion in 'Navigation' started by dizzy2003, Oct 6, 2022.

  1. dizzy2003

    dizzy2003

    Joined:
    Nov 25, 2013
    Posts:
    97
    Nothing meaningful has changed in years..
    (Unless you count not having to download the navigation package from github anymore)

    We still cant Async CalcPath without using agents - sigh
    Even if we could use async, async still runs on the main thread anyway -sigh
    And the path returned is just a list of vector3's (No ability to use off mesh links) - sigh

    These are all issues I hit in Satellite Reign in 2014

    These are very simple and fundamental issues any navigation system should solve at the start.
     
    PutridEx and afshin_a_1 like this.
  2. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    1,644
    Unity is always working on features, fixes, systems, etc. If your not happy coding with your actual navigation system, maybe like some of us, use a AI asset, which will save you time, and is most cases is better.
     
  3. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    881
    Which ones do you recommend?
     
  4. Yuchen_Chang

    Yuchen_Chang

    Joined:
    Apr 24, 2020
    Posts:
    105
    You can use Unity's NavMeshQuery API to calculate path, and NavMeshQuery can run on C# Jobs, meaning it can be run on threads. (though it is an experimental feature)

    After calculating the path by above API, use NavMeshQuery.GetPolygonType to extract the result path's each segment's status (a link or just a ground walk)

    I like the A* path finding project, 4 different types of graph to fit your game's need, and it has a free version for you to try out.
     
    Last edited: Oct 19, 2022
  5. afshin_a_1

    afshin_a_1

    Joined:
    Apr 26, 2015
    Posts:
    48
    i'm totally agree with you.
    if u look at the experimental navigation package on github, the latest update is for 2 years ago.
    so what's going on? any update? any plan making it out of experimental?
     
  6. Terraya

    Terraya

    Joined:
    Mar 8, 2018
    Posts:
    646
    NavMeshQuery looks good, thanks for pointing this one out, will create a performance difference test scene/project.

    Curious to see the difference.
     
  7. Sacryn

    Sacryn

    Joined:
    Jan 17, 2014
    Posts:
    6
    Be aware that NavMeshQuery only generates a list of polygons that need to be traversed (in order) to reach the polygon containing the end position. If you want to get usable waypoints (or corners) you need to run the funnel algorithm yourself (or use the one found in Unitys own Austin demo github repo). The only upside of doing this, is that you can introduce extra corners where the heigh changes. Otherwise you'll get a path that cuts straight through geometry (the NavMesh is basically a 2D thing internally)

    The whole NavMeshQuery API seem to be 100% geared toward making that Austin demo possible, and nothing has happened in to is since then either, so its severely lacking.
     
    ontrigger, Terraya and Yuchen_Chang like this.
  8. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    5,994
    After Miko left Unity, no one dared doing anything significant on his thing. I think that's why we still don't have a setter on mesh data, even after 10 years.

    But after using many other pathers I can tell you that it's the best abandonware I've used and I miss it, it performs like a beast bypassing main thread transform so you can easily move 1000s of agents without going all exotic on ECS. Just no spherical world for you.
     
    Terraya likes this.