Animation not playing but game insist that it is

Hello I have already created an animation system for the view models in my game. CharacterAutoLoads is set to false and characters are manually loaded when they press the “Spawn” button and put into the map. Animations work fine for the first round. When the round ends, all characters have their items unequipped right before being set to nil, where players are sent back to the home screen & do it all again. (similar to Arsenal)

However, if a player has a viewmodel appearing on their screen when their character is set to nil, that viewmodel will no longer have any animations.

This is confusing because even if all a player’s tools are manually unequipped right before the character is set to nil, the last equipped viewmodel will still have no animations, but the others will. Also, Animations are loaded to the specific clone of the viewmodel that is equipped each time the player equips that tool, so animations should be unaffected.

Here is my code for the “fire” animation:

fireANIM.OnClientEvent:Connect(function()
	print("fired animation")
	local animationTrack = PreLoadedTracks["fireAnim"]
	animationTrack:Play()
	
	if animationTrack.IsPlaying == true then
		print("animation track playing")
	end
	
end)

Here is the output:
Screenshot 2025-04-14 125246

Also, here is how I clone the VM when the tool is equipped:

Tool.Equipped:Connect(function()
	equipped = true
	ViewModel = game:GetService("ReplicatedStorage").Viewmodels.RocketJumper:Clone()
	ViewModel.Parent = camera
	
	player.PlayerGui.CoreGUI.Ammo.AmmoFR.Visible = true
	
	preloadAnims()
end)

Try doing this: AnimationTrack.Priority = Enum.AnimationPriority.Action

try checking event .Ended/.Stopped if it fires