PCG Instanced Static Mesh not updating Nav Mesh

Unreal engine 5.6.1
I have a PCG graph generating cubes supposed to affect the nav mesh, but it does not update the nav mesh, except for one bottom left corner. The mesh has can ever affect navigation and proper collisions, nav mesh is set to dynamic for runtime generation. If i recompile the actor holding the PCG or move any actor the nav mesh rebuild but I need it to work at runtime. I remember it was working in 5.4.

1 Like

Hello, the same happens for us.
Unreal Engine 5.6.1, not a new project.
We are heavely using PCG for level desing in our worlds, and having other systems depending on the navmesh.

Problem:

Reproduce steps:

  • New level
  • New Plane as floor
  • New NavMeshBoundsVolume
  • New PCGGraph asset (see below)
    • Static mesh spawner collision set to Block All
  • New PCGVolume with graph assigned

Important notes:

I tried a lot of different settings.
Played with scales, bounds.
Nothing seems to solve it.

The important thing to consider is,
Duplicating the ISM component works:
Or Breaking PCG link works:

[Edit]
I found that after saving & reopenning the level, rebuilding paths/updates works until you regen PCG

[Edit]
Any update on the PCGVolume actor works

I found a fix but it requires c++, I execute a custom c++ function when the PCG finishes generating (OnGraphGenerated event) that gets all UStaticMeshComponent (what pcg spawns generally) sets their can affect navigation (SetCanEverAffectNavigation(true)) and update their navmesh state (UpdateComponentInNavOctree). Makes it easier in one simple node and I think its optimized tried it even at runtime regenerating the level seems to work perfectly.

Hi! I found some kind of workaround in blueprint. I don’t know how much more costly it is, but i spawn actors attached with the static meshes, and NavModifiers. This way all the meshes interact with the navmesh, however it’s not perfect because of it’s shape is rectangular and it’s more complicated.