ParticleEmitter:Emit() is not filtered!

If you call a ParticleEmitter’s Emit function on any client, it will replicate to every other client regardless of FilteringEnabled. This could potentially be catastrophic if discovered by someone else.


This bug was posted in June… and still hasn’t been fixed.


spam emit everyone on PF and freeze their game

I use this in my games, I thought this was intended?

Sound :Play() also goes past filtering, I too use this for my games though D:

if Sound:Play() is called from a LocalScript it will only play the sound locally, it wont replicate to other players.

It has been replicating serverside too, I use it in my games all the time without any issues. If I’m wrong about this then I seriously messed up.

Is there still issues with either particle emitters or sounds adding lag to either the game server or other players?

I’ve gotten reports that this can do this, but have been having trouble reproducing the effect.

This is incorrect.

My bad then, I might need to recheck my games.

I should clarify that if you created the sound locally it will only play locally.

I’m checking right now, I have sound instances inside the Soundscape and they are played through a LocalScript inside PlayerGui. they work as intended and are only played locally as background music for players in different area without replication between players.

Note that I’m testing this with a LocalServer in studio, it might replicate to the server in live but no one reported this when people were playing it, might need to do further testing.

I believe it might only be in Workspace which they replicate, which is a common use case.

I’m using this behavior currently for a game I’m working on.

Actually you might notice that a lot of types of particles can do this. Explosions are the worst, ForceFields (especially more than one) can do it just as bad. I’m fairly certain that other types of particles such as fires, smoke, and sparkles, can cause this as well.

Was making a topic on this myself but then came across this thread. Might aswell contribute my screenshot here so.

I was making a performance-optimised tycoon thingy as an experiment and I was locally calling Emit() on a particle emitter inside the collect button (which spits out dollar bundles as you will see) and with FE on it was replicating to all other clients:

1 Like

My opinion is that any feature that intentionally bypasses FE should be designed to be additionally filtered in some manner. Either by turning the entire feature off, allowing it per instance, or having some scriptable option.

1 Like