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

Have Comments or More Details?

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

Login to Vote

ComponentUE - Networking
Affects Versions5.0
CreatedNov 4, 2021
UpdatedJan 28, 2022