If the subobject's RepKey is not updated after setting the actor to go dormant, then the subobject won't be replicated. This causes FObjectReplicator::ReadyForDormancy to return false for the subobject since bLastUpdateEmpty is never updated to true, preventing the channel from going dormant.
This can be worked around by manually changing the RepKeys for any replicated subobjects after setting the actor to be dormant.
Create a replicated actor with one or more replicated subobjects, and use replication keys to control when the subobjects are replicated. Then, set the actor to be dormant.
Expected: The actor channel will go dormant
Actual: The actor channel will not go dormant
(See linked UDN and attached repro project for more info)
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-134057 in the post.
1 |
Component | UE - Networking |
---|---|
Affects Versions | 5.0 |
Target Fix | 5.1 |
Created | Nov 4, 2021 |
---|---|
Resolved | Mar 8, 2022 |
Updated | Mar 15, 2022 |