if (Channel->KeyNeedsToReplicate(0, ReplicatedArrayKey) ) // Does the array need to replicate? { for (int32 idx = 0; idx < ReplicatedSubobjects.Num(); ++idx ) { UMyActorSubobjClass *Obj = ReplicatedSubObjects[idx]; if (Channel->KeyNeedsToReplicate(1 + idx, Obj->RepKey)) { WroteSomething |= Channel->ReplicateSubobject(Obj, *Bunch, *RepFlags); } } }