I launched my game and noticed my animations not behaving the way they’re supposed to be. They were working fine yesterday but now they’re just a glitched mess. For some reason, this problem only exists in the client and not in Studio. This is happening to all animations excluding the default animations (idle, running, jumping, etc.)

[How it’s supposed to look like (captured from Studio)]

[What it looks like in game (captured from Client)]
I’ve done searches on Google and on the DevForum about “glitchy animations” and “animations broken” but I see nothing related to my problem. I’ve tried re-coding but it hasn’t solved this issue.
If anyone’s curious, here’s the code but I doubt the problem lies here since the animations were fine yesterday with the same code I have right now:
function equip()
local character = player.Character
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
idleAnimation = humanoid:LoadAnimation(tool.Animations.Idle)
attackAnimation = humanoid:LoadAnimation(tool.Animations.Attack)
end
remotes.Equip:FireServer() -- change the player's health on server
idleAnimation:Play()
end
function basicAttack()
local playerData = player:WaitForChild("PlayerData")
local energy = playerData.CombatValues:FindFirstChild("energy")
if energy and energy.Value >= weaponStats.energyUse then
if debounce == false then
debounce = true
remotes.Attack:FireServer(player.Character.HumanoidRootPart.CFrame) -- send cframe for attack pattern compensation
attackAnimation:Play()
if weaponStats.activeTime ~= nil then
wait(weaponStats.chargeTime + weaponStats.activeTime)
else
wait(weaponStats.chargeTime)
end
wait(weaponStats.recoveryTime)
debounce = false
end
end
end