New animation priorities causes serious problems (Action2, Action3, Action4)

Prior to the original update, the animation action priority was the highest among animation priorities. And I made a gun animation using this, and while it was working well, one day after the update, I noticed a strange symptom in the gun animation. An animation is superimposed on a certain animation. So it’s very strange, and I was very confused, so I loaded the animation and checked it to try to solve it. And when I checked the priority of the animation, I confirmed that there are Action2, Action3, and Action4. I’ve been thinking about this and I’m pretty sure this newly added animation priority was the problem. And what surprised me even more was that I couldn’t find any update announcement about this and it was a ninja update. I think the old way is better. When there is only the original Action, when the animation with the new Action priority is newly played, the original Action animation is overwritten. I think this method is better. Or, there is another thought that I have in mind. Instead of setting a proper noun priority like this, it is a way to indicate a number like a layer in Photoshop. It’s a bit like roblox GUI’s Display Order, and imagine a layer in Photoshop with unique letters rather than numbers. Terrible. It’s not without drawbacks, but anyway, I’m against Action2, Action3, and Action4, and if there is, I think there should be at least some update announcement about the new animation priority.
(sorry for my bad english)

10 Likes

He’s right.
Animation in old version, very serious problems have occurred.

Your game relies on the unintended, undocumented and old bug where :Play()ing an animation with the same weight as another will overwrite the older one. As also described in Animation Engine - Runtime Changes and Fixes, this is what happens:

Animation1:Play()
-Animation 1 is playing on the rig, assuming the default weight of 1
Animation2:Play()
-Animation 2 plays at weight 1

The old behaviour would make Animation2 completely overwrite Animation1, Animation1 is still playing, it’s just that it’s not visible. It will be visible once Animation2 has ended.

What the new behaviour does is automatically blend the two animations, where Animation1 contributes 50% to the keyframe and Animation2 contributes 50% to the same keyframe, like having the weights of both of them set to 0.5.

You can fix this by doing

Animation1:AdjustWeight(0)
Animation2:AdjustWeight(1)
Animation2:Play()

Animation2.Stopped:Wait()

Animation2:AdjustWeight(0)
Animation1:AdjustWeight(1)
2 Likes

There are some animation problems happening with me sinse today also, i havent changed anything in my anims, animation priority systems must be messed up. Noticed that there is now priorities “action1 action2 action3 action4”

1 Like

I just found a solution.
workspace.AnimationWeightedBlendFix to “Disabled”
image

4 Likes

found more info

1 Like

Wanted to say that Roblox will eventually remove this option. They announced this feature more than a year ago, and finally moved on from Phase 1, which was opt-in where you could test your game to make sure your game was compatible, to Phase 2, where it’s opt-out, with the “Default” option being “Enabled”, and will move on to Phase 3 where the option is completely removed and you’ll run out of time to be ignorant.

Thanks a lot. I noticed my animations weren’t playing properly a couple days ago and it was driving me nuts.

This is not a solution.
The option to disable this will be removed eventually.

Had an issue with the AnimationWeightedBlendFix where the gun model in my animation wouldn’t move (only one animation should have played so not due to weights), and then after a while it teleported to its final position (I assume a correctional update). The arms moved on time, though. Not sure if these two issues are the same but I’d like to point it out in case anyone had a similar issue.

The solution is to simply disable AnimationWeightedBlendFix, located in the properties of the workspace instance and hope that ROBLOX fixes it one day.

Setting AnimationWeightedBlendFix to Enabled IS the fix, a fix to undocumented behaviour. By the looks of it, you’re using the same priority for two different animations. This fix for animation blending was announced well over a year ago, and developers had plenty of time to make a simple change to their animations.