When we changed the resolution in the config, if you open a map and then look at the navmesh, the resolution it shows is the updated one from the config (assuming you haven't overridden anything)
It looks like when we changed the resolution, the bvQuantFactor, which is used as a 'stepsize' for finding the polygons in the box was not updated, so it was stepping half as far as it should (as if the cellsize were still the larger size). It would then return the wrong polygons, having not actually stepped to the correct spot.
If you manually change the cellsize on the navmesh in the editor, then it will return FRecastNavMeshGenerator::ConstructTiledNavMesh, which will recalculate the bvQuantFactor as 1/CellSize. But nothing detects this load from config, even though that does actually end up changing the values on it. (And will load it in FPImplRecastNavMesh::Serialize)
The solution would seem to be to either not auto-load the updated values from config (and make you change it on the mesh yourself), or to detect this change and regenerate those aspects (like bvQuantFactor) that need regeneration.
Our workaround right now is just to manually change those settings on each of our existing navmeshes so they generate correctly.
Expected Result: A point is found inside the tile that exists on the navmesh.
Actual Result: The point returned is the exact point of the requesting actor.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-309742 in the post.
0 |
Component | UE - AI - Navigation |
---|---|
Affects Versions | 5.5, 5.6 |
Created | Aug 6, 2025 |
---|---|
Updated | Aug 12, 2025 |