Updating HISM static mesh doesn't render properly

When setting the static mesh asset of an HISM with

InstancedMeshes->SetStaticMesh(MeshAsset);

the meshes are not rendered until the character collides with an instance. This triggers an update of the transforms using UpdateInstanceTransform. The fact that a collision occurs shows that the mesh data is set internally.

It seems like SetStaticMesh requires some update call after it. It already calls UpdateBounds and MarkRenderStateDirty internally.

What else needs to be called to complete the mesh update and have the HISM render?

A call to BuildTreeIfOutdated fixes the issue.

InstancedMeshes->SetStaticMesh(MeshAsset);
// BuildTreeIfOutdated(bool Async, bool ForceUpdate)
InstancedMeshes->BuildTreeIfOutdated(true, false);