.Touched event not firing after being teleported once

Hello,
When I use the touched event, it works once but after that it will stop working unless you update the part. I would like to know a solution to fix this or any workarounds besides doing a loop, any help is appreciated!
Video:


Code:

ScanPart.Touched:Connect(function(obj)
	if Enabled and Receive == false then
		if obj.Parent:FindFirstChild("HumanoidRootPart") then
			teleport(obj.Parent, true)
		elseif obj:FindFirstChild("MergeSize") then
			if obj.MergeSize.Value <= MaxSize then
				teleport(obj, false)
			end
		end
	end
end)
1 Like

Are you moving the object via LocalScript or ServerScript? Position doesn’t update for server if done via client, fix is to use remoteEvents/UnreliableRemoteEvents.

How does your teleportation logic work?
Did you set Part.CanTouch = false for debounce and forgot to re-enable it?

Parts are moved on the server, and cantouch isn’t changed at all

touched event will not work if :-
CanTouch property turned off
if both baseparts are anchored or welded to another anchored basepart