World Partitioned Navigation Mesh guide - only part of world gets a covered by navdata chunks

I tried the world partitioned navigation mesh as described in the guide World Partitioned Navigation Mesh | Unreal Engine 5.3 Documentation. However, I cannot get it to work. When I run the action build paths only a quarter of the map gets a navigation mesh (see image).

From the logs it seems like the last iteration removes the actors for the other quadrants of the map and there’s a warning I don’t know if it’s related.

[2023.09.19-19.31.58:045][  0]LogWorldPartition: ULevel::OnLevelLoaded(FirstContinent)(bIsOwningWorldGameWorld=0, bIsOwningWorldPartitioned=1, InitializeForMainWorld=1, InitializeForEditor=1, InitializeForGame=0)
[2023.09.19-19.31.58:045][  0]LogWorldPartition: Display: WorldPartition initialize started...
[2023.09.19-19.31.58:045][  0]LogWorldPartition: UWorldPartition::Initialize : World = FirstContinent, World Type = Editor, IsMainWorldPartition = 1, Location = V(0), Rotation = R(0), IsEditor = 1, IsGame = 0, IsPIEWorldTravel = 0, IsCooking = 0
[2023.09.19-19.31.58:130][  0]LogContentBundle: [FirstContinent(Standalone)] Creating new contrainer.
[2023.09.19-19.31.58:130][  0]LogWorldPartition: Display: WorldPartition initialize took 85 ms
[2023.09.19-19.31.58:150][  0]LogNavigation: Warning: Recreating dtNavMesh instance due mismatch in number of bytes required to store serialized maxTiles (800000, 20 bits) vs calculated maxtiles (397832, 19 bits)
[2023.09.19-19.31.58:209][  0]LogWorldPartitionNavigationDataBuilder: Starting NavigationDataBuilder
[2023.09.19-19.31.58:209][  0]LogWorldPartitionNavigationDataBuilder:    ANavigationDataChunkActor GridSize:    25600
[2023.09.19-19.31.58:209][  0]LogWorldPartitionNavigationDataBuilder:    IterativeCellSize:                    409600 (16x16 navigation datachunk partition actor per loaded cell)
[2023.09.19-19.31.58:209][  0]LogWorldPartitionNavigationDataBuilder:    IterativeCellOverlapSize:               1000
[2023.09.19-19.31.58:209][  0]LogWorldPartitionBuilder: Display: Iterative Cell Mode
[2023.09.19-19.31.58:209][  0]LogWorldPartitionBuilder: Display: Cell Size 409600
[2023.09.19-19.31.58:209][  0]LogWorldPartitionBuilder: Display: Cell Overlap 1000
[2023.09.19-19.31.58:210][  0]LogWorldPartitionBuilder: Display: WorldBounds: Min X=-102400.000 Y=-102400.000 Z=-25600.000, Max X=102400.000 Y=102400.000 Z=25600.000
[2023.09.19-19.31.58:210][  0]LogWorldPartitionBuilder: Display: Iteration Count: 4
[2023.09.19-19.31.58:210][  0]LogWorldPartitionBuilder: Display: [1 / 4] Processing cells...
[2023.09.19-19.31.58:210][  0]LogWorldPartitionBuilder: Verbose: Loading Bounds: Min X=-410600.000 Y=-410600.000 Z=-26600.000, Max X=1000.000 Y=1000.000 Z=26600.000
[2023.09.19-19.31.58:640][  0]LocalizationService: Localization service is disabled
[2023.09.19-19.31.58:640][  0]LogContentStreaming: Texture pool size now 1000 MB
[2023.09.19-19.31.58:670][  1]LogPython: registering <class 'ControlRigWorkflows.workflow_deformation_rig_preset.provider'>

[2023.09.19-19.31.58:684][  1]Running Python start-up script 'C:/Program Files/Epic Games/UE_5.3/Engine/Plugins/Animation/ControlRig/Content/Python/init_unreal.py': 0.042771 secs
[2023.09.19-19.31.58:687][  1]LogWorldPartitionNavigationDataBuilder: Iteration 1. GenerateNavigationData for LoadedBounds IsValid=true, Min=(X=-410600.000 Y=-410600.000 Z=-26600.000), Max=(X=1000.000 Y=1000.000 Z=26600.000)
[2023.09.19-19.31.58:740][  1]LogNavigationDataBuild: Display: UNavigationSystemV1::Build started...
[2023.09.19-19.32.10:156][  1]LogNavigationDataBuild: Display: UNavigationSystemV1::Build total execution time: 11.42s
[2023.09.19-19.32.10:184][  1]LogWorldPartitionNavigationDataBuilder: GenerateNavigationData finished (25 actors added).
[2023.09.19-19.32.10:186][  1]LogWorldPartitionNavigationDataBuilder: Checking out 25 packages.
[2023.09.19-19.32.10:189][  1]LogWorldPartitionNavigationDataBuilder: Saving 25 packages.
[2023.09.19-19.32.10:198][  1]LogPackageLocalizationCache: Processed 46 localized package path(s) for 1 prioritized culture(s) in 0.009125 seconds
[2023.09.19-19.32.10:272][  1]LogWorldPartitionBuilder: Display: [2 / 4] Processing cells...
[2023.09.19-19.32.10:272][  1]LogWorldPartitionBuilder: Verbose: Loading Bounds: Min X=-1000.000 Y=-410600.000 Z=-26600.000, Max X=410600.000 Y=1000.000 Z=26600.000
[2023.09.19-19.32.10:580][  2]LogWorldPartitionNavigationDataBuilder: Iteration 2. GenerateNavigationData for LoadedBounds IsValid=true, Min=(X=-1000.000 Y=-410600.000 Z=-26600.000), Max=(X=410600.000 Y=1000.000 Z=26600.000)
[2023.09.19-19.32.10:682][  2]LogNavigationDataBuild: Display: UNavigationSystemV1::Build started...
[2023.09.19-19.32.22:956][  2]LogNavigationDataBuild: Display: UNavigationSystemV1::Build total execution time: 12.27s
[2023.09.19-19.32.22:975][  2]LogWorldPartitionNavigationDataBuilder: GenerateNavigationData finished (20 actors added).
[2023.09.19-19.32.22:977][  2]LogWorldPartitionNavigationDataBuilder: Checking out 20 packages.
[2023.09.19-19.32.22:978][  2]LogWorldPartitionNavigationDataBuilder: Saving 20 packages.
[2023.09.19-19.32.23:046][  2]LogWorldPartitionBuilder: Display: [3 / 4] Processing cells...
[2023.09.19-19.32.23:046][  2]LogWorldPartitionBuilder: Verbose: Loading Bounds: Min X=-410600.000 Y=-1000.000 Z=-26600.000, Max X=1000.000 Y=410600.000 Z=26600.000
[2023.09.19-19.32.23:356][  3]LogWorldPartitionNavigationDataBuilder: Iteration 3. GenerateNavigationData for LoadedBounds IsValid=true, Min=(X=-410600.000 Y=-1000.000 Z=-26600.000), Max=(X=1000.000 Y=410600.000 Z=26600.000)
[2023.09.19-19.32.23:490][  3]LogNavigationDataBuild: Display: UNavigationSystemV1::Build started...
[2023.09.19-19.32.35:349][  3]LogNavigationDataBuild: Display: UNavigationSystemV1::Build total execution time: 11.86s
[2023.09.19-19.32.35:395][  3]LogWorldPartitionNavigationDataBuilder: GenerateNavigationData finished (20 actors added).
[2023.09.19-19.32.35:400][  3]LogWorldPartitionNavigationDataBuilder: Checking out 20 packages.
[2023.09.19-19.32.35:404][  3]LogWorldPartitionNavigationDataBuilder: Saving 20 packages.
[2023.09.19-19.32.35:509][  3]LogWorldPartitionBuilder: Display: [4 / 4] Processing cells...
[2023.09.19-19.32.35:510][  3]LogWorldPartitionBuilder: Verbose: Loading Bounds: Min X=-1000.000 Y=-1000.000 Z=-26600.000, Max X=410600.000 Y=410600.000 Z=26600.000
[2023.09.19-19.32.35:789][  4]LogWorldPartitionNavigationDataBuilder: Iteration 4. GenerateNavigationData for LoadedBounds IsValid=true, Min=(X=-1000.000 Y=-1000.000 Z=-26600.000), Max=(X=410600.000 Y=410600.000 Z=26600.000)
[2023.09.19-19.32.35:942][  4]LogNavigationDataBuild: Display: UNavigationSystemV1::Build started...
[2023.09.19-19.32.47:812][  4]LogNavigationDataBuild: Display: UNavigationSystemV1::Build total execution time: 11.87s
[2023.09.19-19.32.47:850][  4]LogWorldPartitionNavigationDataBuilder: GenerateNavigationData finished (16 actors added).
[2023.09.19-19.32.47:852][  4]LogWorldPartitionNavigationDataBuilder: Deleting 65 packages.
[2023.09.19-19.32.47:883][  4]LogWorldPartitionNavigationDataBuilder: Checking out 16 packages.
[2023.09.19-19.32.47:886][  4]LogWorldPartitionNavigationDataBuilder: Saving 16 packages.
[2023.09.19-19.32.47:980][  4]LogWorld: UWorld::CleanupWorld for FirstContinent, bSessionEnded=true, bCleanupResources=true
[2023.09.19-19.32.47:981][  4]LogContentBundle: [FirstContinent(Standalone)] Deleting container.
[2023.09.19-19.32.47:982][  4]LogWorldPartitionBuilderCommandlet: Display: Execution took 49.9 sec
[2023.09.19-19.32.47:982][  4]LogCore: Engine exit requested (reason: Commandlet WorldPartitionBuilderCommandlet_0 finished execution (result 0))
[2023.09.19-19.32.47:982][  4]LogInit: Display: 
[2023.09.19-19.32.47:982][  4]LogInit: Display: Warning/Error Summary (Unique only)
[2023.09.19-19.32.47:983][  4]LogInit: Display: -----------------------------------
[2023.09.19-19.32.47:983][  4]LogInit: Display: LogNavigation: Warning: Recreating dtNavMesh instance due mismatch in number of bytes required to store serialized maxTiles (800000, 20 bits) vs calculated maxtiles (397832, 19 bits)
[2023.09.19-19.32.47:984][  4]LogInit: Display: 
[2023.09.19-19.32.47:985][  4]LogInit: Display: Success - 0 error(s), 1 warning(s)
[2023.09.19-19.32.47:985][  4]LogInit: Display: 
Execution of commandlet took:  49.95 seconds

Anyone has any ideas of what could cause this issue and how to fix it?

Hi there,

It’s a Engine bug which causes the ANavigationDataChunkActor’s RootComponent will be destroyed after calling PostEditChangeProperty(). So we always get (0,0,0) when we call GetActorLocation(), and some of the NavigationDataChunkActors will be destroyed for the wrong location.

I post the solution in my other reply:

Hope this helps.

1 Like