How to prevent ForceField duplication

When the player touches the part, it creates a ForceField however, instead of creating one into the character it makes more. How would I prevent this from occurring?

image

Script that creates the forcefields when part is touched:

local WorkspaceService = game:GetService("Workspace")

local Safezone: BasePart = WorkspaceService.Safezone

local function OnTouch(OtherPart: BasePart)
	local Character = OtherPart.Parent
	local HumanoidRootPart: BasePart = Character:FindFirstChild("HumanoidRootPart")
	
	if HumanoidRootPart then
		local ForceField: ForceField = Instance.new("ForceField")
		ForceField.Name = "SafezoneForceField"
		ForceField.Visible = false
		ForceField.Parent = Character
	else
		warn("Failed to find HumanoidRootPart!")
	end
end

local function OnTouchEnd(OtherPart: BasePart)
	local Character = OtherPart.Parent
	
	local ForceField: ForceField = Character:FindFirstChildWhichIsA("ForceField")
	
	if ForceField then
		ForceField:Destroy()
	end
end

Safezone.Touched:Connect(OnTouch)
Safezone.TouchEnded:Connect(OnTouchEnd)

Use debounces

I have but still getting same issue. When I am moving around and landing on the platform Its inserting more. Would Region3 be a good solution to this situation? If so how can I implement it?

You can simply just prevent another ForceField from being added if it already has one when the part is touched:

local function OnTouch(OtherPart: BasePart)
	local Character = OtherPart.Parent
	local HumanoidRootPart: BasePart = Character:FindFirstChild("HumanoidRootPart")
	
	if HumanoidRootPart then
		local ForceField: ForceField = Character:FindFirstChild("SafezoneForceField")
		if not ForceField then
			ForceField = Instance.new("ForceField")
			ForceField.Name = "SafezoneForceField"
			ForceField.Visible = false
			ForceField.Parent = Character
		end
	else
		warn("Failed to find HumanoidRootPart!")
	end
end

This seems to have made an improvement. The simple things you don’t usually think about that seem to make an effort lol.

However, this is happening:

EDIT: It happens every time I am walking along the part.