NavMesh ignores Procedural Mesh

I tried to apply NavMesh to Procedural Mesh, but it doesn’t work.
Procedural mesh on the left, Classic Plane on the right:


And collision settings:
ProceduralMeshCollisionSettings

How can i fix it?

After a few experiments, I found out that the NavMesh works, but only if the Procedural Mesh is moved. But not works for Create Mesh Section.

And my new question:
How can i force update navigation for Actor or Procedural Mesh without moving?

Ok, I found a solution. To update NavMesh we need to call this function for Procedural Mesh component:

void UTestBlueprintFunctionLibrary::TestNavUpdate(USceneComponent* SceneComponent) {
if (SceneComponent->IsRegistered())
{
if (SceneComponent->GetWorld() != nullptr)
{
FNavigationSystem::UpdateComponentData(*SceneComponent);
}
}
};

2 Likes

I love you. UpdateComponentData works. Cannot find this node in blueprint but UpdateComponentData called in my appropriate place in my c++ code did the job! Thanks!