I have been under the impression that a cluster is simply an InstancedStaticMeshComponent in the InstancedStaticMeshComponents array of the foliage actor. So it shouldn’t matter where on the map the parking-lots are placed (it should only matter how you add the SMdata structs, which should be based on your own logic of what location-based grid position they belong in). Are you saying that if you add the same mesh to two different InstancedStaticMeshComponent’s, they cull at the same time? That would seem very weird.
I got around this by simply having the LOD1 on foliage meshes have no shadows. I have several million foliage meshes on my map and setting hidden on all of them gives very little noticeable performance gain.
One question I have: I know how to get and set Location and Rotation on the Transform matrix of an InstancedStaticMeshInstanceData struct. But how do I get and set the size?