Spawn and Manage Enemies on a Procedural NavMesh | AI Series Part 15
Published: 18 May 2021
Learn how to spawn AI NavMeshAgents into a world with a procedurally generated NavMesh. Also how to manage the enemy AI so they stop following the player when they are out of range.
We do this by checking which enemies are in the bounds of the NavMesh that was updated based on the player movement and disabling the agents of alive enemies that are not in that range. Spawning enemies into the world as the player moves is a critical piece of functionality if you are building a dungeon crawler. What we did in AI Series Part 4: https://youtu.be/5uO0dXYbL-s doesn't work for very large or procedurally generated worlds because it relies on the entire world having a NavMesh active, and spawns enemies randomly throughout the known NavMesh. In this video we resolve that by spawning enemies per tile with a spawn density.
This builds on the last video, AI Series Part 14: https://youtu.be/hC27myJAmM4. If you haven't checked that one out, go back and watch that first! Interested in the performance of this and some tips on how to optimize it? AI Series Part 14.5 has you covered! https://youtu.be/bCC5pqNT000
Want Part 14.5? https://youtu.be/bCC5pqNT000
Want Part 16? https://youtu.be/ygr5YyTRsBY
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.
🔶 ALL THINGS LlamAcademy now available at: https://llamacademy.dev/support including latest tutorials, courses, ways to support, and more! Check it out 🙂
👨💻 Get the FULL FREE PROJECT on GitHub: https://github.com/llamacademy/ai-series-part-15/
🏷️Save 25% on the ultimate C# IDE: JetBrains Rider with code LLAMACADEMY: https://www.jetbrains.com/store/?section=personal&billing=yearly
Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.