Description

In 4.14, changes were introduced to share replicated state between objects on the server (Shadow State) this was done to allow sharing property comparisons to determine when objects needed to replicate to clients.

On the server, the shared replicated state is stored in FRepChangelistState::StaticBuffer. For clients, or when receiving properties, the state is stored in FRepState::StaticBuffer.

FObjectReplicator::ValidateAgainstState was never updated to reflect that, so on the server we still use the FRepState version, which always reports errors.

Steps to Reproduce
  1. Run a FN Server and Client.
  2. On the server, make sure the "net.DormancyValidate" CVar is set to 1.
  3. Gather some materials, and build something.
  4. Wait a few seconds for the building actor to go dormant.
  5. Hit the building actor with a pickaxe (or any weapon)

Expected:
No warnings are logged

Actual:
Warnings like "FDiffPropertiesImpl: Property different: <PropertyType> <PathToProperty> always complain about being different when the actor becomes dormant and when it becomes no longer dormant.

Have Comments or More Details?

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

0
Login to Vote

Won't Fix
ComponentUE - Networking
Affects Versions4.154.164.174.184.194.20
CreatedOct 22, 2018
ResolvedAug 18, 2021
UpdatedAug 18, 2021