Shadow is moving ahead of other player characters

I’ve seen other games (Block Tales, Robot64, etc.) do this same mechanic of the drop shadow, but for some reason mine is weird when it comes to other players.
If there was any way to explain why this is happening, and what I’m doing wrong, it would be greatly appreciated!


The shadow moves ahead of my character like it’s showing my character’s position on my client? However when I go to the console to delete any local script that is running on the other shadow, there isn’t any and its only the server script.

I’ve had this issue for a while now, and there hasn’t been any good permanent fix from what I have looked for.
In Roblox Studio, my workspace shows that there isn’t any local script on the other player’s character, both client side(s) and the server side.
shadow from server
Image above shows Player2’s shadow from the Server’s view
player2 view from 1
Image above shows Player2’s shadow from Player1’s client
player2 view
Image above shows Player2’s shadow from Player2’s client

In this context, Player2’s shadow should always stay at Player2’s character position. (Moving with Player2’s client position and staying in the Player2 character server location through other clients)
However, as shown in the video, other player characters will move ahead. As if the local script is also moving their shadow, not placing the shadow on their server position on other clients.

Sorry if I explained this weirdly, I tried my best to explain this issue my very best
If any other info is needed to try and fix this issue, please let me know!
Thanks in advance!

1 Like

First I would like to see the script. Second having parts like this is bad. Use tag service please for server scripts.

Handle visuals on the client-side, the desynchronization is likely due to physics and property changes being replicated differently.


Physics replicate at 20Hz (may change in the future, tests and benchmarks show this is currently the case) and is interpolated, it’s also unreliable and unordered, as usually you don’t need it to be reliable because it’s continuously replicated.

Property changes may replicate immediately (after Heartbeat/PostSimulation), this can cause the effect visible in your video where the shadow is ahead and technically more accurate to the player’s position. This is also why you should avoid animating/tweening on the server, as it can rapidly saturate bandwidth.

3 Likes

Thank you for this!

I ended up making a separate local script in player scripts to move shadows, and adding a tag that is collected by the Collection Service to grab every single shadow to move.
(If there’s a better spot to place/operate 1the script, let me know)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.