RenderStepped replicating to Server?

I’m trialling some different methods for a Projectile System -
Currently my method is:

Creating 2 ‘Projectiles’ one on the Server and one on the Client - The client would then remove the Server Projectile, leaving the Client one.

I’m detecting whether a new ‘Laser’ part is in the Player by using .RenderStepped:

game:GetService("RunService").RenderStepped:Connect(function()
	for _,i in pairs (Player.Character:GetChildren()) do
		if i.Name == "Laser_i" then
			if i.Parent == Character then
				i:Destroy()
			end
		end
	end
end)

My issue is that for whatever reason (despite this being a LocalScript) - The ‘Laser_i’ is being removed from the Server itself.

Destroying instances that are inside player characters are an exception to filtering enabled iirc.

Here are some other exceptions from the wiki:

What are the exceptions to FilteringEnabled?

Whilst FilteringEnabled prevents almost everything from replicating from the client to the server, there are some exceptions.

  • Some properties on the local Humanoid
  • Sound playback, when SoundService.RespectFilteringEnabled is set to false
  • ClickDetector input events
  • AnimationTrack playback
  • Physics simulated on BasePart s which the client has network ownership of
2 Likes

So, if I delete it from Client it’s Replicated to Server?
Huh, never knew that.