# Navmesh runtime regeneration \[AddNavigationBuildLock\]

**URL:** <https://forums.unrealengine.com/t/navmesh-runtime-regeneration-addnavigationbuildlock/2704680>\
**Category:** AI\
**Tags:** ai-navigation, navigation-mesh, Navigation, unreal-engine, question, CPP\
**Created:** [March 8, 2026, 11:52pm UTC](https://forums.unrealengine.com/t/navmesh-runtime-regeneration-addnavigationbuildlock/2704680 "2026-03-08T23:52:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ss.mod](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ss.mod](https://forums.unrealengine.com/u/ss.mod)\
**Post date:** [March 8, 2026, 11:52pm UTC](https://forums.unrealengine.com/t/navmesh-runtime-regeneration-addnavigationbuildlock/2704680/1 "2026-03-08T23:52:28Z")

</div>

So I set my generation runtime for my navmesh to be **dynamic** , but i really don’t need that because i just want to generate my navmesh when I move objects at the BeginPlay (which only happens once) and I don’t need to build the navmesh after that so i did dig into the source code and i found the functions: `UNavigationSystem::AddNavigationBuildLock` and `UNavigationSystem::RemoveNavigationBuildLock` so i added a navigiation build lock after the movement thing and it worked PERFECTLY and i got 20 frames back doing it this way…. but it’s kind of scary because i couldn’t find any documentation on these functions and no one talks about them so am i doing something wrong or missing something?

Thanks!
