That seems to be better. Because as I understand BatchUpdateInstancesTransforms does a complete for loop of its own to update every instance which I don’t think is very helpful. Updating only the instances that need to and then call MarkRenderStateDirty at the end seems to be more performant. BatchUpdateInstancesTransforms however has a huge difference in blueprint though.
If you suspect a bug, have you tried changing to ISM? I worked with the new PerInstanceCustomData and I notices it’s not compatible with HISM, but works perfectly with ISM.