Hi everyone!
I’m working on a project entirely in Blueprints (no C++), and the player can move objects around during gameplay. I need the NavMesh for NPCs to update accordingly when objects are moved.
I’ve been trying to find a way to partially update the NavMesh, but ran into several limitations:
- Functions like
Rebuild Navigation
andUpdate Nav Octree
seem to be unavailable in Blueprints — I couldn’t find any way to call them either through nodes or console commands. - I tried using NavigationInvokerComponent, but after enabling “Generate Navigation Only Around Navigation Invokers”, my NavMesh completely disappeared, even with the invoker active. So maybe that’s not a suitable solution for my case.
- For now, I’m using NavModifierComponent as a workaround. It helps, but:
- I can’t dynamically control the size of the area affected.
- Most importantly — if the object was placed in the level before the game starts, and I move it during gameplay, the NavMesh doesn’t regenerate in the old location, so NPCs still avoid the empty spot.
Also, switching to Runtime Generation: Dynamic
isn’t an option for me due to performance concerns.
So far, it seems like calling Rebuild Navigation
through C++ might be the only reliable solution — but I’d really love to hear if someone has found a better way to handle this kind of scenario in Blueprints.
Thanks in advance for any suggestions or experience you can share!