NavMesh "Rebuild at Runtime" not working

I have a level that is generated during runtime and its size is random. I’ve been trying to take existing NavMeshBoundsVolume and resize it to match generated level size. I have enabled “Rebuild at Runtime” in project settings and RecastNavMesh object. I’ve managed to alter my NavMesh by using “Set Actor Transform” in my Blueprint, but it is not updating even though it’s location and scale was changed. Picture below has corners of box marked with red and green NavMesh is generated according to old NavMeshBoundsVolume settings.

NavMesh updates perfectly fine each time I’m Simulating or Playing and I move NavMeshBoundsVolume using widget. Is there any way to trigger NavMesh Rebuild in Blueprint? I’m using UE version 4.3.3.

Hey Malapropos,

Updating NavMesh during runtime is not possible in 4.4.3. It will update to reflect changes in position of Actors during runtime, but changing Transform will not update mesh.

This has been updated in 4.5 so that you can change scale and location. If you copy your project and open it in 4.5 Preview, you can see update now.

Hope that helps!

Hi ,
Then, what is proper way to update navmesh in blueprint as of 4.6 ? Seems i still need to use console command “RebuildNavigation” ?
Thanks

Hey ,

I wasn’t able to reproduce a problem using 4.6.1. Have you checked to make sure Rebuild at Runtime is enabled in your Project Settings? Can you give me some more specifics about how you’re setting this up in your Blueprints so I can attempt to reproduce it here? Thanks!