game.Players.PlayerAdded:Connect(function(player)
local char = player.Character or player.CharacterAdded:Wait()
local hitboxClone = game.Workspace.Hitbox:Clone()
hitboxClone.Parent = char
hitboxClone.Position = char.HumanoidRootPart.Position
hitboxClone.Anchored = false
hitboxClone.Name = "PlayerHitbox"
local weld = Instance.new("Weld",hitboxClone)
weld.Part0 = char.HumanoidRootPart
weld.Part1 = hitboxClone
hitboxClone.Touched:Connect(function(hit)
if hit.Name == "Subtract" then
local SubtractClone = hitboxClone:Clone()
SubtractClone.Parent = game.Workspace
SubtractClone.Anchored = false
SubtractClone.Name = "SubtractHitbox"
local parts = {hit}
local SubtractUnion = SubtractClone:SubtractAsync(parts)
SubtractClone:Destroy()
end
end)
end)
Nothing here throws an error, the clones work, it just won't do the CSG.

4 comments
"The resulting PartOperation is always un-parented and based on positions of the parts as they were when the operation was started." tl;dr parent SubtractUnion to Workspace
All that does is make the parts clone but not Negate
Destroy hitboxClone, too.
But I need the hitbox clone to exist stay welded on the player