NavMeshLink Custom Animations per Area Type | AI Series Part 17




Published: 01 Jun 2021

In this tutorial I show you how to upgrade the Unity NavMeshComponents script AgentLinkMover to work better. We'll make the NavMeshAgent choose whether or not they want to take a NavMeshLink by checking the Vector3.Distance between the start and end point of the NavMeshLink to ensure it's actually going to help get closer to the target. We'll also upgrade the AgentLinkMover to have the ability to have a different OffMeshLinkMoveMethod per NavMesh Area Type, which allows us to customize how the NavMeshAgent moves across different NavMesh area types.


Some of you may ask: Since we're mapping an int (NavMesh Area Type) to an OffMeshLinkMoveMethod - why not use a Dictionary? - This is a great point. A Dictionary would make the logic simpler, but we'd have to also set up a custom editor to manage it in the inspector because Unity by default doesn't know how to serialize Dictionaries for modification in the Inspector. If you want some homework for this video, try to modify the AgentLinkMover to use a Dictionary. Even if you don't set up the custom editor to handle that in the inspector, you'll see why it's a better data structure than the List we used in this video.


As usual with the AI Series, we're using the NavMesh Components: https://docs.unity3d.com/Manual/NavMesh-BuildingComponents.html not the built-in navigation system.


๐Ÿ‘จโ€๐Ÿ’ป As always, all code from this video is available on GitHub: https://github.com/llamacademy/ai-series-part-17


๐Ÿท๏ธSave 25% on the ultimate C# IDE: JetBrains Rider with code LLAMACADEMY: https://www.jetbrains.com/store/?section=personal&billing=yearly


๐Ÿงก Believe in LlamAcademy's mission and have received value from the videos? Here's how you can show your support:

๐ŸŒŸ Patreon: https://www.patreon.com/llamacademy

๐ŸŒŸ YouTube Member: https://www.youtube.com/channel/UCnWm6pMD38R1E2vCAByGb6w/join or click the Join button on any video

๐Ÿ“š Take my Unity ShaderGraph Course:

https://www.gamedev.tv/p/unity-shader-graph?affcode=45216_kuvg0bp7

๐Ÿ‘• Get yourself some LlamAcademy merch: https://llamacademy.myspreadshop.com/

๐Ÿ’ธ Use my Affiliate Link for Humble Bundles https://humblebundleinc.sjv.io/9g4ak4

๐Ÿ’ธ Publisher Sale! 50% OFF an entire publisher's Assets! Publisher changes weekly! https://assetstore.unity.com/publisher-sale?aid=1101l9QvC (affiliate)

๐Ÿ’ธ Save up to 50% on NEW Assets: https://assetstore.unity.com/?new_sale=true&orderBy=1&aid=1101l9QvC (affiliate)


Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.


Connect on Social Media

Some links may be affiliate links, which at no additional cost to you, gives LlamAcademy a small portion of the purchase.