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.
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
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-156156 in the post.
0 |
Component | UE - Networking |
---|---|
Affects Versions | 5.0 |
Target Fix | 5.1 |
Fix Commit | 20704432 |
---|---|
Main Commit | 20706805 |
Created | Jun 8, 2022 |
---|---|
Resolved | Jun 17, 2022 |
Updated | Jul 11, 2022 |