Issue with animation playing only with keyframes with cubic easing style

I’m making a NPC that sits in a rocking chair and I decided to just make it all one rig and animate it. I have the animation made in the animation editor all the keyframes have cubic as the easing style with variable easing directions. However when I play the animation in a game it looks like its either jumping or not easing right. Here is what it looks like in the animation editor:
When its being played on a humanoid in game it looks like this:
When I switch the keyframes to linear, it looks fine when played.


As a temporary workaround, swap the EasingDirections in and out while editing your animation.

1 Like

Hmm, yea since my animation could be represented with an inout easing direction I just used that and it worked.
Edit: If they do fix this would it break all existing animations that currently were adjusted to compensate for this bug?

I doubt they’d make breaking changes, they’d rather update the animation editor to show the correct animations and EasingDirections. Doing otherwise would break most existing animations on Roblox, that’d be too harsh.

Off topic, sorry to bump but I had to ask. Is this Kingdom Come: Deliverance music? I love that game.

It’s crazy this post was made back in 2020, it’s 2022 and the problem still hasn’t been fixed.


2023, still not fixed to this day

Almost 2024. still not yet fixed :confused:

1 Like

If swapping easing direction works then. I made a code that swap animation easing direction in an instant.
Copy, paste it into the command bar. Change the “TargetAnimation” variable and it should works

local TargetAnimation = workspace.NPCName.AnimSaves.Shooting

local Exist = TargetAnimation.Parent:FindFirstChild(TargetAnimation.Name.."(Easing Directions corrected)") 
if Exist then warn("Got rid of duplicate animation") Exist:Destroy() end

local AnimationClone = TargetAnimation:Clone()
AnimationClone.Name = AnimationClone.Name.."(Easing Directions corrected)"
AnimationClone.Parent = TargetAnimation.Parent
for i,v in pairs(AnimationClone:GetDescendants()) do
	if v:IsA("Pose") and v.EasingStyle == Enum.PoseEasingStyle.Cubic then
		v.EasingDirection =  v.EasingDirection == Enum.PoseEasingDirection.Out and Enum.PoseEasingDirection.In or Enum.PoseEasingDirection.Out 
		warn("Changed pose easing direction")
1 Like

yup, i know. im absolutely shocked at the lack of something so crucial in the platform

1 Like

Thanks for sharing it still not solved

1 Like

I can’t believe this is still an issue. It’s one of the most troublesome bugs I’ve encountered in Studio for all the time I’ve worked with it. It’s such an annoying issue that I always forget about being there, and I really hope this gets fixed soon.

1 Like

If I remember correctly, the only workaround as of right now is by enabling Roblox’s “curve editor” feature in the animation editor. It can be a little tedious to work with, but in the end it does its job.

Hope this helps :grin: