Description

This seems to be a result of how the changemask is handled for fast arrays. Because the changemask is a fixed set of bits (defined by IrisFastArrayChangeMaskBits), a single bit can represent multiple entries in an array. The larger the array, the more elements will be represented by a bit.
When the array is serialized by FArrayPropertyNetSerializer::SerializeDelta, all of these elements will be serialized. The elements that didn't change will still write some small amount of data depending on the fast array item's properties (such as 2 bits for the Replication ID), which can add up for large arrays.

Steps to Reproduce

Create a replicated actor with a fast array property.
Add a large number of elements to the fast array (>64).
After the array's initial replication, change one element of the array and mark only that item as dirty.

Expected: only that one element will be serialized and sent to the client
Actual: multiple elements will serialize a small number of bits each in addition to the one that was changed

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-268558 in the post.

1
Login to Vote

By Design
ComponentUE - Networking - Iris
Target Fix5.6
CreatedApr 8, 2025
ResolvedApr 9, 2025
UpdatedApr 9, 2025
View Jira Issue