It is possible to add items to a replicated fast array that are not intended to be replicated to the clients. For example, FGameplayAbilitySpecContainer has a custom ShouldWriteFastArrayItem implementation to facilitate this, as Gameplay Abilities can override ShouldReplicateAbilitySpec to prevent the ability spec from replicating.
However, in Iris, this local item causes issues when replicating an item's removal, as the client won't receive the removal until after the local item has been removed and the array is dirtied again on the server.
With Iris enabled:
On the server, add two replicated items to a fast array as normal, and add a non-replicated item (i.e. add the item but do not mark it as dirty).
Observe that the client receives the two replicated items but not the non-replicated one as expected.
On the server, remove one of the replicated fast array items.
Observe that both of the items are still present in the client's fast array.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-319174 in the post.
0 |
Component | UE - Networking - Iris |
---|---|
Affects Versions | 5.7 |
Target Fix | 5.8 |
Created | Sep 8, 2025 |
---|---|
Updated | Sep 10, 2025 |