Help required for R6 Boxing Gloves Weld

I am trying to make some boxing gloves that work as a tool. I have the idle animation but, the idle animation by itself, acts weird and has one of the gloves floating and just the Handle part set correctly on the player’s fist.

So I decided to try using welds to fix my mistake and it half-worked but the arm is now all the way in the back and trips the character whenever the Boxing Glove tool is equipped.

Weld Script
local tool = script.Parent

local function weldGlove(glovePart, targetPart)
	glovePart.CFrame = targetPart.CFrame
	local weld = Instance.new("WeldConstraint")
	weld.Part0 = glovePart
	weld.Part1 = targetPart
	weld.Parent = glovePart
end

tool.Equipped:Connect(function()
	local character = tool.Parent
	local humanoid = character:FindFirstChild("Humanoid")
	if not humanoid then return end

	local isR15 = humanoid.RigType == Enum.HumanoidRigType.R15
	local leftHand = isR15 and character:FindFirstChild("LeftHand") or character:FindFirstChild("Left Arm")
	local rightHand = isR15 and character:FindFirstChild("RightHand") or character:FindFirstChild("Right Arm")

	local leftGlove = tool:FindFirstChild("Left Glove Piece")
	local rightGlove = tool:FindFirstChild("Right Glove Piece")

	if leftHand and leftGlove then
		weldGlove(leftGlove, leftHand)
	end
end)
Animation Script
local tool = script.Parent
local anim = Instance.new("Animation")
local anim1 = Instance.new("Animation")
anim.Name = "IdleAnim"
anim.AnimationId = "rbxassetid://122089966944224" -- Idle Animaton ID
anim1.Name = "EquipAnim"
anim1.AnimationId = "rbxassetid://122089966944224"-- Equip Tool Animaton ID
local track
local track1
-- When Tool Equipped
tool.Equipped:Connect(function()
	track = script.Parent.Parent.Humanoid:LoadAnimation(anim)
	track1 = script.Parent.Parent.Humanoid:LoadAnimation(anim1)
	track.Priority = Enum.AnimationPriority.Movement
	track1.Priority = Enum.AnimationPriority.Movement
	track.Looped = true
	track:Play()
	track1:Play()
end)

-- When Tool UnEqiopped
tool.Unequipped:Connect(function()
	if track and track1 then
		track:Stop()
		track1:Stop()
	end
end)


you are only welding one side lol

I only welded one side because it’s useless, from my testing, to weld the other side. But I re-welded it using

if rightHand and rightGlove then
		weldGlove(rightGlove, rightHand)
	end

and it still turns out like

I would try parenting the glove pieces in a seperate folder

Is your animation priority action or higher?