99.94% CPU Time Reduction on Runtime NavMesh Generation | AI Series Part 14.5
Published: 08 Jun 2021
I'm walking through the process of optimizing the runtime navmesh generation we did in AI Series Part 14: https://youtu.be/RuoK7w1OIT0 where we baked the navmesh around the player as they moved through a very large level. This is applicable to procedurally generated or very large worlds that you want to only generate the navmesh in a fixed size around the player. We achieved a 99.94% decrease in execution time of baking our navmesh at runtime to move it from a huge stutter to take an insignificant amount of time!
Optimization is a tricky topic because how you can optimize your game varies based on the specific implementation of your game. In this tutorial I'm walking through the process of how to do optimization, using what we did in AI Series Part 14 as the target piece of code to optimize. Because we know how the generation works and how the world is built, we can shortcut and skip a lot of operations that allows us to minimize the generation time. I also give some tips on how you can optimize the runtime navmesh generation piece in a procedurally generated world.
In your game you can follow the same process and apply the same principles to optimize your navmesh generation to get a similar result.
Want Part 14? https://youtu.be/RuoK7w1OIT0
Want Part 15? https://youtu.be/0V99OBWmCHk
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-14.5
🏷️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.