Hi,
I am trying to use World Partitioned Dynamic NavMesh for large levels (16kmx16km), but I can’t get it to work. After what I would like to think is setting everything up correctly, instead of moving, AI agents report “Aborted.”
I am following this guide from the dev portal: https://dev.epicgames.com/documentation/en-us/unreal-engine/world-partitioned-navigation-mesh
I am using version 5.3.2.
Steps to reproduce:
-
Create a blank template project. Set Project Settings->NavigationMesh->RuntimeGeneration: Dynamic.
-
Create a new Empty Open World map.
-
Add a dynamic skylight, directional light, and a scaled-up box static mesh as the floor.
-
Add nav bounds volume to the level:
-Location: X: 0,0; Y: 0,0; Z: 0,0;
-Size: X: 50000,0; Y: 50000,0; Z: 1000,0; -
Configure recast navmesh actor:
-IsWorldPartitionedNavMesh: true -
Create a new pawn class with three components:
-SphereCollisionComponent: Pawn collision preset
-SphereMeshComponent: No collision
-FloatingPawnMovement
Auto Possess AI: Placed In World or Spawned
CanEverAffectNavigation: false for all components
7: On FloatingPawn’s Begin Play, add a 3s delay and then call “AIMoveTo” to X: 10.0; Y: 10.0; Z: 0.0.
On failure, print the movement result:
8: Place a pawn in the level, hit play, and note that FloatingPawns stays in place and returns ‘Aborted’ as the movement result. Using the “EnableGDT” command and selecting the pawn, you can see in the Navigation tab that FloatingPawn reports “too far from navmesh”.
So there is supposedly a navmesh, although it’s not showing, which is another indication of something being wrong:
Another weird thing I noticed is that although the pawn shows up whenever playing the level, sometimes begin play doesn’t get called on it, or at least the print command doesn’t, but a simple editor restart fixes that problem.
Now, as far as I know, this is the setup that requires the least amount of steps to reproduce, but I have probably tried every single permutation of any seemingly relevant settings. To keep things simple, there is no landscape in the level. I am also not using navigation invokers.
What am I missing? Does anyone have any experience with world partitioned dynamic navmeshes?
Thanks!