Looks like the ball lags when it transfers NetworkOwnership from the player to the server.
Search up how to set the ownership to the server before it’s thrown.
The issue with that is that if you have more than one player the ball will lag for the other players.
The ball will be created on the player’s client, replicated to the server, then back to the other player’s client, which causes a little more lag for them.
Oh yeah, I just realized that. Well I’ve tried setting the network owner right after I clone the ball and parent it to the workspace. But that doesn’t work.
Check to see if the ownership switches back to the player when they interact with it. That’s what’s normally supposed to happen.
I just did a quick search using ‘make a ball not lag’ and found a few solutions.