I think a better way is to just send it once from the server, and listen for if the blur gets destroyed in the client, so you can just add a new one instead.
or
Just have two blurs and move them inbetween parents so you dont have to create so many and destroy so many
No it wouldn’t. When you add things to replicated folders(such as PlayerGui) on the server side they replicate to the client(through an automated process). There are events such as ChildAdded and DescendantAdded that fire on the client side each time an instance gets replicated to it. An exploiter can just listen to one of those events, make some checks, and if the child happens to be this specific UI destroy it. Because the event fires exactly at the moment of replication, if the exploiters don’t yield their own code and destroy the instance right away, they will never be blinded.
Basically your change always reaches the client, but the client can automatically detect it and remove it right away through the use of exploits.
Btw the exploiter can simply say “No I didn’t destroy it” to the server. That’s why we use the phrase never trust the client.
Honestly I think that just calling a remote event to load the blur is fine
These hacks are just going to make your code messy while barely affecting exploiters