Recast Nav Mesh in a level instance has been modified without changing anything

Hi Epic Staffs

Our level designers complained that the RecastNavMesh actor was constantly being modified, prompting them to submit every time. This confused them.

Through our testing, we were able to reproduce this behavior.

A level structure similar to this is needed:

  • Parent Level
    • Level Instance Actor
      • SubLevel
        • Recast Nav Mesh

Normally, after loading the Parent Level, a new Recast Nav Mesh Actor is generated within that Parent Level.

​ [Image Removed]

However, once the level structure shown above is generated,

it seems that every time the Parent Level is opened, the Recast Nav Mesh Actor is somehow set to Dirty, prompting a need to re-save.

The problem disappeared after deleting the Level Instance Actor ‘SubLevel’.

What we want:

  • We don’t want to resave the Recast Nav Mesh Actor when we didn’t touching anything

[Attachment Removed]

Steps to Reproduce

  • Open the test project
  • Open the ‘Parent Level’
  • Open the ‘Sublevel’ or any other level
  • You will see a dialog that told us we need to save the RecastNavMesh-Default actor since it has been modified

[Image Removed]

[Attachment Removed]

The navmesh shows as dirtied due to loading in the NavMeshBoundsVolume in the level instance. It attempts to build a navmesh using that bounds volume which updates the tiles in the resulting RecastNavMesh actor. Some features of WP still have very minimal support in navigation, and I do not believe they will be addressed any time soon. They have just been low priority as other navigation work has been done.

-James

[Attachment Removed]