FilteringEnabled :Destroy() replicates anyway

As you all know, if you fire a remote event from the client to handle an animation (so it replicates), there will be a delay, and the client who fired the event won’t animate on that client immediately. To solve this, I have a separate set of welds – one for the client, and one from the server. To do this, I destroy the welds placed by the server from a local script when the character spawns and create welds from that same local script. That way, I can modify the client welds, and they’ll be smooth/instant, and when that event finally gets through, the server animates the character, but doesn’t overwrite the smooth animations of the client.

[size=5]The bug:[/size]

Calling :Destroy() on anything located in the character replicates to the server, completely ignoring FilteringEnabled. I’ve had to create the welds in a separate model in the workspace called “Player1Joints” so that when I delete them locally, the change does not replicate to the server and delete the server welds. This is very ugly and probably is causing headaches for people who aren’t aware of this when they try to attempt something like this – I know it was a nightmare for me until I found out what the issue was.

That’s because the Character is like half server-side and half-client side or some weird shit.

1 Like

I would be perfectly okay with it if changing the weld’s Part0, C0, etc replicated as well, but it doesn’t, so I have to make two separate sets – using a separate model besides the character accomplish this.

While we’re on the topic, anyone have a better way to accomplish what I’m doing here?