Description

If the default value of a replicated property is edited on an instance of a placed-in-map actor, then on the server is value is changed back to the default, a client who joins in progress after this won't receive the value, because the server compares the value with the CDO value, not the instance defaults.

This is similar to UE-45231, but occurs when the default value has been edited in the instance directly, not in set in the construction script. Since this can't be guarded by users with an authority check, it seems like a legitimate bug we need to fix.

Steps to Reproduce
  1. Place an actor with an editable, replicated property (say, int Value, default 0) in a map
  2. Edit Value on the instance of the actor to 100
  3. Hook up a keybind to be able to set the value to 0 on the instance at runtime
  4. Start a server
  5. Use the keybind to set Value to 0
  6. Connect a client to this server
  7. Observe Value on the client

Actual: Value will be 100 (the instance default) on the client

Expected: Value will be 0 on the client, since it's replicated and that's the value the server has

Have Comments or More Details?

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

0
Login to Vote

Backlogged
ComponentNetworking
Affects Versions4.20.3
CreatedMar 26, 2019
UpdatedApr 1, 2019