InitOnly FReplicationStateDescriptors will have a value of 0 for ChangeMaskBitCount, so if an object only has COND_InitialOnly properties, its FReplicationProtocol will also have a ChangeMaskBitCount of 0.
This causes the check to fail in FNetBitStreamWriter::InitByte, as it expects the ByteCount to be at least 4.

Steps to Reproduce

Create a replicated subobject where all of its replicated properties use the COND_InitialOnly replication condition, and add this subobject to an actor.
When the replication system copies the dirty state data for this object, the following check will be hit in FNetBitStreamWriter::InitBytes: "Buffer capacity needs to be a multiple of 4 and at least 4."

Have Comments or More Details?

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

Login to Vote

ComponentUE - Networking - Iris
Affects Versions5.3
Target Fix5.5
CreatedJun 22, 2023
UpdatedFeb 29, 2024