Trying to dig a little deeper into this, it seems the ‘GetInstancesForComponent’ function is failing on this part (line 1979 of InstancedFoliage.cpp):
const auto* InstanceSet = MeshInfo.ComponentHash.Find(BaseId);
The BaseId always seems to be ‘1’ but ComponentHash is just empty, which means the InstanceSet is false so the arrays never get built beyond that.
What’s weird is that MeshInfo.Instances is also empty, even though there are definitely instances that have been placed, and MeshInfo.Component.SortedInstances shows Num=7 (which is the correct number of foliage instances that I have painted in the scene).
Still no closer to figuring out this works and why it’s going wrong though…