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:

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):
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

	char.UpperTorso.ToolGrip.Part0 = char.UpperTorso
	char.UpperTorso.ToolGrip.Part1 = WeaponTool.BodyAttach

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:

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.