Player desynchronization when reparenting character from hidden parent to workspace

When using a player culling system, reparenting a player’s character to a hidden parent then back from its hidden parent into the workspace causes a temporary desynchronization between the server and client, if the player moves around during the time that they are hidden for another player then that other player reloads said player then the server does not immediately recognize the player’s updated state, resulting in a short but noticeable delay in synchronization. The desync resolves only after the client sends new updates to the server (e.g. through player input or character movement)

Expected behavior

The player should be properly updated upon reparenting to its desired parent.

1 Like

Interesting. There was recently a major security bug where the client could run code that would cause the client to desynchronize from the server. In that instance, it would cause the server to not update the player’s position to the other clients making it look like players were being shot/killed from nowhere. It was apparently fixed, but it makes me wonder if this is somehow related.

EDIT:

You can find that report here.

This is not specific to player characters, rather, as far as I know, any player-owned instances or assemblies
(and has been a thing for a long time)

1 Like

Duplicate of “Desync” exploit spreading in the past month - Bug Reports / Engine Bugs - Developer Forum | Roblox that is still in progress.