Trouble with TouchTransmitter

I’m trying to detect when a tool in the workspace is touched using a TouchTransmitter, but it won’t work.
Here’s the script:

local ball = script.Parent
local handle = ball.Handle
local touchTransmitter = handle.TouchInterest

local Players = game:GetService("Players")

touchTransmitter.Touched:Connect(function(part)
	local char = part.Parent
	local hum = char:FindFirstChild("Humanoid")
	if hum then
		local plr = Players:GetPlayerFromCharacter(char)
		local backpack = plr:WaitForChild("Backpack")
		
		local balls = {}
		for i, v in pairs(backpack:GetChildren()) do
			if v.Name == "Dodgeball" then
				table.insert(balls,v)
				print(#balls)
			end
		end
		if #balls >= 3 then
			ball.Parent = game.Workspace
		end
	end
end)

How do I fix this?

You don’t use TouchTransmitter, you use BasePart.Touched instead. Just replace handle.TouchInterest with Handle and you are good to go.

A touch interest is actually automatically created when you use .Touched on a BasePart which is why you aren’t supposed to reference it. Instead, you should do what @SubtotalAnt8185 said.

@SubtotalAnt8185 @Katrist I just tried that, and it still doesn’t detect when the part is touched.

Edit: It is working now. Thanks!