This was taken on the server side: 2022-05-01 11-14-56 GIF | Gfycat
and this is on client side: 2022-05-01 11-16-17 GIF | Gfycat
The lightning beam is made out if parts (made by @Quasiduck his post: [Effect] v1.1 Lightning Beams: Seamless, smooth and procedurally animated with beam-like properties) and the parts are spawning more sporadically on the client’s side than the server’s. So how do I make the client update/spawn parts similarly to the server?
Well, if it’s the same code, then you most likely have an issue with how you are conveying information over the network. Correct me if I’m wrong, but I assume that your goal is to have the client handle the effect animation to make it more performant.
If this is the case, then you should start the effect on the local client immediately, and then tell the server to fire to all other clients to replicate the effect. You of course wouldn’t replicate to the client who called for the replication in the first place, as that would be redundant since they already are displaying the effect. Then, once received, the other clients should check if the character with the animation is within their field of view (FOV) and/or within a minimum radius of their camera. If it is, then play the animation on their clients.
What I’ve just described is a simple method for replication. I’m sure that you already have a grasp of this concept though. I would check to see how you’re replicating the effect and check all values you are passing to see if they may be different on other clients vs the server. Other than that, I can’t help further without code samples.
Thank you! I changed the part spawning to a local script and made a simple client replication system which seemed do to the job