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 [Link Removed], 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 to Questions & Answers just mention UE-72006 in the post.

4
Login to Vote

Unresolved
ComponentUE - Networking
Affects Versions4.20.3
Target Fix5.5
CreatedMar 26, 2019
ResolvedAug 27, 2021
UpdatedFeb 23, 2024