Issue With Creating Idle Animation For Weapon

I have a weapon animation which plays whenever the pistol is equipped. I have the animation ready and it is as follows in the animation editor:
image

The issue is that whenever I try it in the game, the arm has moves very weirdly.
Check the link below to see what happens (note: I have a custom character added to game):
https://gyazo.com/98126b6c9fa1d340de0030f7cf94bdb4
However, I do have the animation priority set to Action.
Here is my local script:

local Player = game.Players.LocalPlayer
local char = Player.Character or Player.CharacterAdded:Wait()
local WeaponTool = script.Parent

local Humanoid = char:WaitForChild("Humanoid")

local Animation = script.Parent.Hold
local AnimationTrack = Humanoid:LoadAnimation(Animation)
AnimationTrack.Priority = Enum.AnimationPriority.Action

script.Parent.Equipped:Connect(function()
	game.ReplicatedStorage.RemoteEvents.ConnectM6D:FireServer(WeaponTool.BodyAttach)
	char.UpperTorso.ToolGrip.Part0 = char.UpperTorso
	char.UpperTorso.ToolGrip.Part1 = WeaponTool.BodyAttach
	AnimationTrack:Play()
end)

If I try this with my real character, you can see that the arm still moves but not as much as with a custom character:
https://gyazo.com/aef379bcbc11b9bc9a9b0ffc2b00d5db

Thanks for any help

It looks like you don’t have key frames set for the right lower arm and it’s getting utilized by the run animation when you start moving.

Try setting the position on your lower right arm to be constant throughout the animation.