If a part is created by the server, then deleted by the client. When a part of the client’s character touches the part, it is not fired on the server even though it still exists there. Normally, even though the part doesn’t exist on the client, the BasePart.Touched event should still be fired on the server because the part still exists there.
This bug happens 100% of the time, the touch is never detected by the server.
Here is a repro of the bug:
Touched Event Repro.rbxl (558.7 KB)
The server has a part with a script inside with an event that is triggered when the part is touched. It will print “TOUCHED” whenever it senses a touch.
In StarterPlayer, there is a LocalScript which deletes the part on the client’s side. The part still exists on the server.
When the client touches the brick, even though the part exists on the server, the touched event is not fired.
This happens in-studio and in-game. I would link a game but you can’t see the output there anyways.
This bug still occurs whether or not the part is CanCollide.
I am running macOS Mojave 10.14.5
I am unaware of when this bug started happening, but I found it by trying to make bomb hit-boxes non-existant on the client but still exist on the server so that you could shoot through them.