Both versions works correctly if HISMC is pre-placed (generated in ConstructionScript). Only when generated dynamically does it fails. The Navmesh isn't being updated after SetStaticMesh and AddInstance are called on the second blueprint. If you play in Simulate and move the second blueprint the navmesh will regenerate properly.

There is different behavior being executed between setting the mesh on the HISM component through the Detail panel compared to using the SetStaticMesh function on the event Graph.

This was reported and tested in 4.23.1 (CL-9631420). This was reproduced in 4.24.3 (CL-11590370), 4.25 Preview 1 (CL-11723679), and 4.26 (CL-11929415).

Steps to Reproduce
  1. Open the UE4 Editor and create Blank project
  2. In the Project Settings set Runtime Generation for Navmesh to Dynamic
  3. Add a Navmesh Volume to the level and create two Blueprint actors (should be in level next to each other in way that navmesh can interact with them).
  4. Both of the blueprints will be almost identical. Both have HISMC under DefaultSceneRoot. Both should create instance via AddInstance function executed from Event BeginPlay.
  5. The first Blueprint should have static mesh set in editor (named HismcNavmesh_Works)
  6. The second should set static mesh programmatically via SetStaticMesh (before creating instance). No static mesh set in editor. (named HismcNavmesh_DoesNotWork)
  7. Play in Editor or Simulate

Results: One blueprint (with mesh set in editor) will generate navmesh. Other (with mesh set programmatically) won't.

Expected: Both blueprints should generate navmesh

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-90233 in the post.

Login to Vote

ComponentUE - AI
Affects Versions4.
Target Fix4.26
Fix Commit12495678
Main Commit12495678
CreatedMar 6, 2020
ResolvedMar 31, 2020
UpdatedMay 4, 2022
View Jira Issue