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.

Steps to Reproduce

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)

Have Comments or More Details?

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

Login to Vote

ComponentUE - Networking
Affects Versions5.0
Target Fix5.1
Fix Commit19303417
Main Commit19303417
CreatedNov 4, 2021
ResolvedMar 8, 2022
UpdatedMar 15, 2022