I'm having some trouble animating a tool. For a quick test, I have done two things: (a) get a free model of a weapon, a stick to hold in player's hand and to be used as a tool, (b) make an animation of a hand movement which will be applied to the tool i have downloaded.
I've tried to link both together by inserting the animation into the tool and adding a new piece of code which is supposed to play the animation on click. Here is its implementation:
local UserInputService = game:GetService("UserInputService")
local Tool = script.Parent
local Anim = script.Parent.Animation -- Animation
local debounce = false
local player = game.Players.LocalPlayer
local thisHumanoid = player.Character.Humanoid
UserInputService.InputBegan:Connect(function(InputObject)
if InputObject.UserInputType == Enum.UserInputType.MouseButton1 then
debounce = true
local AnimTrack = thisHumanoid:LoadAnimation(Anim)
AnimTrack:Play()
print('playing anim') --simple message for debugging purposes
wait(1) -- Seconds Before You Can Play Animation Again.
debounce = false
end
end)
With the above code, when I used an animation which was working only on the left hand (i.e. no weapon), it worked. With an animation on the right hand (i.e. hand holding weapon), no animation plays out. What is wrong in my approach?

4 comments
Try setting the timeposition to 0
Provide more information. Is the output saying anything? What is the script type?
No, I don't get an output other than printing what I wrote in the code to print - i.e. no errors. It's a local script inside the tool.
I did timeposition = 0 but nothing improved.