Viewmodel animation not playing

you can see in workspace, the animation behaves just fine but when its actually in the camera, it doesnt work at all.

how can i fix this?

script.Parent.Equipped:Connect(function()
	equipped = true
	plr.CameraMode = Enum.CameraMode.LockFirstPerson
	mouse.Icon = 'rbxassetid://83638201236035'
	
	paintgun = game.ReplicatedStorage.MainModule["test"]:Clone()
	
	local animation = Instance.new('Animation')
	animation.AnimationId = 'rbxassetid://136161532886584'
	local track = paintgun.Humanoid:FindFirstChildWhichIsA("Animator"):LoadAnimation(animation)
	track:Play()
	
	paintgun.Shirt.ShirtTemplate = plr.Character:FindFirstChildWhichIsA("Shirt").ShirtTemplate
	paintgun["Left Arm"].Color = plr.Character["Left Arm"].Color
	paintgun["Right Arm"].Color = plr.Character["Right Arm"].Color
	paintgun.Parent = workspace.CurrentCamera
		connection = runservice.RenderStepped:Connect(function(dt)
			local Delta = game.UserInputService:GetMouseDelta()
			SwaySpring:shove(Vector3.new(-Delta.X/100, Delta.Y/150, Delta.X/100))
			BobSpring:shove(Vector3.new(Bob(5), Bob(10), Bob(5)) / 10 * (Character.PrimaryPart.Velocity.Magnitude) / 10)
			local handssway = SwaySpring:update(dt)
			local handsbob = BobSpring:update(dt)
			paintgun:PivotTo(workspace.CurrentCamera.CFrame * CFrame.new(handssway.X, handssway.Y, handssway.Z))
		end)
end)

Not entirely sure what the problem is, but could you try

print(paintgun.Humanoid.Animator:GetPlayingAnimationTracks())

this way it will print out animations that are playing, because right now I’m not sure if it’s your viewmodel’s problem or your animation’s problem