Should my VFX scripts be on the client or server?

I know that most people would say that any visual effects should be kept on the client side to enhance performance and stuff but in my case, I want the effects to be seen by everyone in the server. Problem is, I use tweening to create the effects but it’s very apparent that the server does not like any sort of tweening.

Client tweening:
https://gyazo.com/685aafa9ab63d9bed82280d23199436b

Server tweening:
https://gyazo.com/9f9d58c8506a4b5bfce1efaef23d5c70

So the white neon strips that fly around is what I’m trying to fix. Can’t do it on a local script else only the client sees it, and I can’t do it on a server script else it’s gonna look terrible and shaky.

I realize that I can probably achieve the same effect with particle emitters because the Emit() function will work perfectly even on the server. Thing is, I’m not too fond of the idea of having to draw my own textures for particle emitters because I’m not a good artist by any means.

1 Like

Make the effects themselves on the client, and have the server tell everyone when to make those effects.

For instance, clients A, B, and C.

  1. A punches B and plays effect on their (A’s) client
  2. A asks the server to damage B
  3. Server does some sanity checks, does damage to B
  4. Server tells B and C that they should play a punch effect at B’s location
  5. B plays effect.
  6. C plays effect, but maybe a lower quality one/skips rendering it because it’s not directly involved.
6 Likes

Just do FireAllClients() with a local script in starter gui that runs when the event is fired

I prefer Client, server is laggy