I was wondering what the advantages of FilteringEnabled are, can anyone tell me?
Client side effects: You can do local/client-side effects without hacks; parts can move or appear or change so that each player has a different view of what's going on. This is particular useful for animations and stuff.
More network bandwidth: At the same time, doing local effects won't slow down other clients, since anything done by a LocalScript doesn't need to be replicated to all of the other players
More secure: Your game is more secure -- even if some players can exploit ROBLOX, most likely whatever they change will be ignored by the game and your other players won't be affected
More transparenty: It's easier to think about programming over a network -- ROBLOX is a distributed platform. With FilteringEnabled on, it becomes clearer exactly how the pieces fit together.
LocalScript
s can no longer directly affect the world in a way that other players can see.
Normal Script
objects can no longer directly affect any players' PlayerGui
s.
Instead, LocalScript
s / Script
s order each other by communicating using RemoteFunction
s and RemoteEvent
s.
This is most problematic because of the various services/properties which are only available on the server/client, but it's still easy to use RemoteEvents to solve this.