Search Unity

Unity Experimental AI Navigation Package

Discussion in 'AI & Navigation Previews' started by mplantady_unity, Jun 16, 2021.

  1. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
    Experimental package now available from the package manager!
    An experimental package allows us to share early development with the community, but please keep in mind this is meant to collect your feedback while we progress toward a fully supported released functionality. As such experimental packages should not be used in production until they reach their Released state.

    Introduction
    The AI Navigation package provides a workflow for building and using NavMeshes at runtime and at edit time through components.

    To get started with AI Navigation, we recommend that you checkout the Documentation.

    High-level features summary
    It allows configuring NavMeshes for different types of agents. Updating NavMesh topology at runtime. Creating more complex configurations, via NavMeshLinks and modifiers. And creating more flexible projects by leveraging NavMeshes in prefabs.

    Current state
    This package is based on NavMeshComponents project that was available on Unity public GitHub. The experimental AI Navigation Package is still under development, and some API or data structures may change in the future.

    What’s next?
    AI Navigation is expected to become the new default workflow for Navigation in Unity. Before being able to sunset the legacy workflow, some missing features (like HeightMesh) need to be reimplemented in this component-based system. A special attention will also be given to the user experience, to facilitate the setting of navigation in a project and helping its debugging.

    It is our intention to deliver those functionalities as a fully supported increment of released versions you can use in production. So our first goal is really to consolidate the existing experimental functionalities and fully support them for production as soon as possible.

    More information about the full roadmap for this product will be communicated later.

    Installation
    • Download Unity 2021.1 or newer through the Hub.
    • Create or open a Unity project.
    • Go to Window > Package Manager.
    • Follow “Adding a registry package by name” instructions and add “com.unity.ai.navigation”

    Sharing feedback
    This forum is the best place to open discussions and ask questions. When you encounter a bug, please use the Unity Bug Reporter in the Unity Editor, accessible via Help > Report a Bug. Include “AI Navigation” in the title to help our staff triage things appropriately!

    For more details on how to report a bug, please visit this page..
     
    Last edited: Jun 16, 2021
  2. TJHeuvel-net

    TJHeuvel-net

    Joined:
    Jul 31, 2012
    Posts:
    622
    Will this also improve the DOTS NavMeshQuery api? Thats been experimental with 2018, and you have to jump through many hoops to get useful results out of it.
     
    AndrewHerrera1998 likes this.
  3. MiFrilke

    MiFrilke

    Joined:
    Dec 14, 2016
    Posts:
    32
    Glad to see that Navmesh Components are finally making the transition to a Unity Package!

    We have been working with the navmesh components for quite a while now and I have a few things I want to address right away:
    • Please expose the debug building & visualization features by default on the NavmeshSurface component. It helps a lot when trying to figure out why a specific corner of the navmesh doesn't come out the way you want it to. But not a lot of users know the debug data/views exist since it is hidden behind a few different APIs.
    • Please take a look at the underlying NavMeshBuilder again, there are still issues to be solved there. I recently reported this issue regarding navmesh modifiers (detailed info in this forum post).
    • Add the possibilty to use arbitrary meshes as volume modifiers, the current restriction to boxes only is severely limiting and caused us to use countless workarounds to block navmesh inside of pre-built geometry.
    • If at all possible, please move the NavMeshBuilder out of black-box land into the package! It would go a long way to be able to see what is happening and being able to modify it if needed.

    Thank you
     
    Nazdar, DwinTeimlon, Ziflin and 6 others like this.
  4. dizzy2003

    dizzy2003

    Joined:
    Nov 25, 2013
    Posts:
    91
    Feature Request

    Make MavMeshPath include offmesh links rather than just Vector3's that way offmeshlinks can be usable.

    My last project I had to spatially search to try and match vector3's to offmesh links, its slow and unreliable :(
     
    mplantady_unity likes this.
  5. Michal_Stangel

    Michal_Stangel

    Joined:
    Apr 17, 2017
    Posts:
    92
    Do you plan to add some feature to get rid of disconnected NavMesh islands? Something what NavMesh Cleaner asset does in current system.
     

    Attached Files:

  6. DevViktoria

    DevViktoria

    Joined:
    Apr 6, 2021
    Posts:
    30
    The Unity 2021.2 beta is available for feedback unity blog mentions:
    "Editor: Scene View tool overlays, quality-of-life improvements, Editor performance optimizations, a beta of the Apple Silicon Editor, the AI Navigation experimental package, feature sets"
    But still I cannot find the AI Navigation package in the package manage in Unity Registry list. Not even if I enable the experimental packages.
    Does this means that we still have to add the AI Navigation package by name, as you suggested even in 2021.2 too?
    But then why the blog mentions that it is available in the editor?
     
  7. Lhawika

    Lhawika

    Joined:
    May 27, 2015
    Posts:
    41

    The part of the blog post you quoted says "the AI Navigation experimental package".
    If I'm not wrong, experimental means "hidden and should be added by name", preview means "visible if preview packages are enabled".
    It seems to me that it is normal to still not see the package in the package manager even though the blog post mentioned it.
     
    mplantady_unity and DevViktoria like this.
  8. DevinW

    DevinW

    Joined:
    Jun 19, 2014
    Posts:
    34
    upload_2021-6-27_15-22-36.png
    I'm confused

    upload_2021-6-27_15-23-40.png
     
  9. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    7,555
    Plus, please do not duplicate your post.
     
  10. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
    Thanks for your feedback!

    Also, notes that using the roadmap website for feature requests and voting for what is more important to you, could also help us to prioritize our work:
    https://unity.com/roadmap/unity-platform/navigation-game-ai
     
    JoNax97 likes this.
  11. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
    Until the package is verified it cannot be displayed in the package manager, and it will be necessary to add it by name.

    The current version of the package is compatible with earlier version than 2021.2, it was just announced in this version because it match the release of the experimental package.
    Also keep in mind, that future planned improvement of the package will need update in the core API and will require to increase the minimum compatible version of the package.
     
    Tanner555 and DevViktoria like this.
  12. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
    It is an undocumented feature, but you can also use "Add package from git URL" with a package id ("com.unity.ai.navigation") in 2020.

    "Add package by name" was added to make that explicit in 2021.
     
    Nazdar, Tanner555 and DevViktoria like this.
  13. MrTestOne

    MrTestOne

    Joined:
    Feb 21, 2018
    Posts:
    5
    Do I understand correctly, that the current "AI Navigation Package" at current state is exactly the same like the NavMeshComponents Addon, available via Git? (https://github.com/Unity-Technologies/NavMeshComponents)

    Which means: If I'm using the old NavMeshComponents - there is no need to update/change scripts for this "AI Navigation Package" at this point? (later, when the planned features will be implemented, then of course an update makes sense)
     
  14. putragonist

    putragonist

    Joined:
    Aug 13, 2013
    Posts:
    6
    It takes forever to install. How much is the size of the package? tftd.PNG
     
  15. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
    Currently the only difference between the Git version and the package are a few fixes. You can check the Changelog to know what have changed:
    http://docs.unity3d.com/Packages/com.unity.ai.navigation@1.0/changelog/CHANGELOG.html
     
  16. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
    It should only takes a few seconds to install (the package size is 3MB). Maybe you should reopen Unity and retry.
     
  17. MrTestOne

    MrTestOne

    Joined:
    Feb 21, 2018
    Posts:
    5
    Nice, thanks for the link! There is indeed already some movement on the fixing area. Looking forward for future major steps towards new and improved functionality! ;)
     
  18. Rhyusaky

    Rhyusaky

    Joined:
    Jan 22, 2016
    Posts:
    20
    Do you plan to support 2D navmeshes any time soon...?
     
  19. TyroByte

    TyroByte

    Joined:
    Mar 16, 2017
    Posts:
    25
    Is there anyway to add this package to the 2019.4 LTS Package Manager?
     
  20. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    616
    Is this package opensource? Or will it?
     
  21. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
    It is not clearly planned yet, but don't hesitate to vote for it in our road map: https://unity.com/roadmap/unity-platform/navigation-game-ai. It will help us to prioritize the next NavMesh features to be released.
     
  22. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
  23. mplantady_unity

    mplantady_unity

    Unity Technologies

    Joined:
    Jun 19, 2019
    Posts:
    49
    Thaina likes this.
  24. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    1,000
    Hi @mplantady_unity. How about dots AI Navigation package? Will dots AI Navigation package be reimplemented in pure dots way or build on top of this AI Navigation Package?
     
  25. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,311
    Ya this package is highly misleading as to what it actually is and has confused a ton of people ever since it first hit on github. It's a high level api over existing lower level public api's.

    That needs to just be clearly stated.
     
    ZiadJ likes this.
  26. Syganek

    Syganek

    Joined:
    Sep 11, 2013
    Posts:
    76
    Do you have any ETA when it will arrive into a preview or released state? We're just beggining a new project in a studio and it would be great for our game but we're worried about it being an experimental package. We'd be considering it if it would get to at least preview state before we'd release the game.
     
  27. Nazdar

    Nazdar

    Joined:
    Nov 10, 2015
    Posts:
    3
    I'm overjoyed to see movement on this!

    On the roadmap page (https://unity.com/roadmap/unity-platform/navigation-game-ai) there is mention of reworking the entire baking process for performance. Will this involve making runtime baking async?

    It hurts that BuildNavMesh() hangs a single frame.
     
  28. DarkMerchant

    DarkMerchant

    Joined:
    Oct 29, 2020
    Posts:
    1
    I have an issue with the package though... When I use UpdateNavMesh() for my NavMesh I see the new NavMesh (or at least the changes since last recalculation). Unfortunately it seems that my NavMeshAgents are also considered as obstacles and create a not moveable area around them, leavng them on a small walkable island.

    In the documentation is written, that neither NavMeshAgents nor NavMeshObstacles should be taken into consideration while updating the NavMeshSurface. So I'm a little bit confused at this point... Can you help me with that?

    Perhaps there is something I didn't see...
     
unityunity