I appears to be possible to replicate a value and when the value gets to the client(s), it doesn't match what was sent from the server.
In the project, ReplicatedActor is created by the Authority. When the ReplicatedActor is created, the Authority will generate four structs, which have a integer and a TArray of uint8, to be stored into an TArray. That TArray is replicated out to the clients so the server and clients have the same list.
Each frame following, the Authority chooses one of the four values, makes sure it exists in the array, which was generated at the start and replicated out, before assigning it to a RepNotify variable. There is a small chance that the RepNotify will be fired on the client side and the resulting replicated value will not match any of the four that were generated (which both client and server have).
As an example, this is what happens when they dont match:
As you can see, the client version that was replicated in the RepNotify function is 1 value is different than the array that was generated and replicated at the start. In the case above the client recieved 161 in element 4 where the value replicated out was 72.
Attached is the log as well.
Sometimes, the replication of a struct that holds a TArray of uint8 values will replicate with one of the values being incorrect in the sequence.
Replicated data always matches on the client side, what was replicated from the authority
Head over to the existing Questions & Answers thread and let us know what's up.