Character's position is out of sync in studio

The issue

When using remote events/functions in studio the player’s position is out of sync.
This bug becomes worse should you enable replication lag in studio


To demonstrate this issue I’ve created a button ingame that when pressed clones the character on the server and client the instant it can.

Client Code

	ClonePlayer(game.Players.LocalPlayer) --simple function that clones the char

Server Code

	if player.Character then
		ClonePlayer(player) --same function as in client

Green is client position and Red is server position

In Studio with 0 artificial ping at 16 walkspeed (dev console reported ~70ms ping)


In Studio with 500ms artificial ping at 16 walkspeed


In studio with 0 artificial ping at 32 walkspeed (dev console reported ~70ms ping), this amount of difference can have a big effect on testing in studio


Expected Behaviour

In a live server at around ~150ms ping at 16 walkspeed (acceptable behaviour)


reproduction file

repro.rbxl (26.0 KB)

This has a very big effect on the game that I’m currently working on, its a very high speed game where walkspeeds can reach way above the 70s so testing in studio at all is highly inaccurate

1 Like

Hello! I’m afraid that this is normal replication latency. Perfect sync to the server is very hard to achieve.

1 Like

Eyo! I understand that there will always be replication latency but the issue in question is the fact that the latency seems to be that much higher in studio then actually ingame as seen in the images above
(when comparing ~70ms studio ping with ~150ms live server ping)

You have to also remember that the server’s position is saved when the RemoteEvent is recieved, which I as a developer would expect to be roughly at the same time that the server receives the client’s position

Understood, will pass on feedback to internal teams! Please keep an eye out for any potential updates.