Description

Because the subobject's RepLayout is empty, it won't write anything to the bunch when recording a replay checkpoint. This means that when scrubbing to a time past a checkpoint, the destroyed subobject will not be recreated when the checkpoint's state is loaded.
The subobject will be recreated if scrubbing to a time before the checkpoint, since UActorChannel::WriteSubObjectInBunch will write an empty payload for any new subobjects, even if no properties are replicated.

Steps to Reproduce

Create a replicated subobject without any replicated properties, and spawn an instance of this object while recording a replay with checkpoints. When playing back the replay, scrub to a time past a checkpoint.
Expected: the replicated subobject will still exist
Actual: the replicated subobject will not exist after the scrub

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Networking
Affects Versions5.0
Target Fix5.1
Fix Commit20704432
Main Commit20706805
CreatedJun 8, 2022
ResolvedJun 17, 2022
UpdatedJul 11, 2022