Issue with HISMC (LOD switched for all instances same time)

Greetings. I’ve tried to implement HISMC. But it acts like ISMC. LODs are switched for all instances at once.
Here’s video:…d96b65de2d.mp4
For some reason can’t upload a video here (same issue with it as on Answerhub, no mp4 allowed).
It’s the same on 4.21 and 4.23.

Thank you in advance.

Mirror question on Answerhub:…tances-sa.html

It should work, but AFAIK LODs on HISMC are switched in clusters, rather than individually. I may be wrong, but it would be worth testing on some more random distribution of the instances.

Yeah, that’s correct. They are likely so close to each other that all the instances are in the same cluster.

Any way to define the size of the cluster? I prefer lods swapped at least in half of the distance.

People from UnrealSlackers Discord helped a lot.

int32 UHierarchicalInstancedStaticMeshComponent::DesiredInstancesPerLeaf()
    int32 LOD0Verts = GetVertsForLOD(0);
    int32 VertsToSplit = CVarMinVertsToSplitNode.GetValueOnAnyThread();
    if (LOD0Verts)
        return FMath::Clamp(VertsToSplit / LOD0Verts, 1, 1024);
    return 16;

Setting CVAR


To a lower value will shrunk the cluster’s size.
Don’t forget to rebuild your HISMC to update the result.