Animation looks different in game

Hello everyone! I’ve had this issue for a while where the animations for some weapon animations for my game will have this weird delay in them. It seems to be most prominent in guns. The weirdest thing about it is that it only happens in game. In studio, the animation plays as it should. I’ve included two videos to show what I mean:

Studio:

In Game:

The issue is that the amount of time it takes for the arm to flick backwards is greater in game versus in studio. I’ve tried checking the AnimationWeightedBlendFix to false, I’ve tried searching over posts, but nobody else seems to have documented this. Is this an engine thing? Is there something I’m missing? If anyone knows why this is happening and how I can fix it, please let me know.

1 Like

show me the script you are using to play the anim

The tool with no handle I used in game has the messy animation code shown above. The actual gun has different animation code but still has the same bug. The animation is being played server-side on both scripts. I tried playing it on the client, but it didn’t make a difference.

play it on the client, not server
the reason for the delay is cause your loading the animation every time the tool is activated
so in the client, load the animation before using the tool.activated, then in the tool.activated play the anim

image

Here’s my new code for playing the animation. I cleaned it up a bit and made it client side. It didn’t fix the animation though.

why are you using strack = instead of local strack =
and why are you loading the animation on the hum???
you need to load it onto hum.Animator:LoadAnimation

My bad. I changed those and it didn’t seem to make any difference.

image

Here’s what it looks like now

im gonna try to mimic the animation and the code and see if its delayed


image

local tool = script.Parent
local plr = game:GetService("Players").LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local animator = hum:WaitForChild("Animator")
local shoot = tool:WaitForChild("shoot")
local idle = tool:WaitForChild("idle")

local strack = animator:LoadAnimation(shoot)
local itrack = animator:LoadAnimation(idle)

tool.Equipped:Connect(function()
	itrack:Play()
end)

tool.Activated:Connect(function()
	strack:Play()
	itrack:Stop()
end)

tool.Unequipped:Connect(function()
	itrack:Stop()
end)

no delay for me

Make sure the animation priority is Action and whatever easing style you use in the script?

1 Like

What is animation priority?? Set it to action

1 Like