Reproduction Steps
Currently, as of 3/10/22
, the Workspace.AnimationWeightedBlendFix property infinitely hangs concurrently running animations, even if they are at a different priority. This results in code that relies on those animations completing infinitely yielding, which causes game-breaking bugs.
Steps to reproduce:
- Open up the repro place file I have attached privately to this bug report (repro contains game specific code that cannot be posted publicly)
- Observe that
Workspace.AnimationWeightedBlendFix
is set totrue
- Run a playsolo test.
- Climb up one of the green parts
- While on a green part, click on the “play hurt animation” button. Observe that
true
is being logged to the output to indicate that code is waiting for the hurt animation to finish playing. - Observe that the animation never finishes playing, and that the code is infinitely yielding.
- Jump off of the green part. Observe that the hurt animation plays and the code logs
false
to the output. - Stop the playsolo test. Set
Workspace.AnimationWeightedBlendFix
tofalse
. - Repeat steps 3 through 4.
- Click the “play hurt animation” button. Observe that
true
is logged to the output for a bit, thenfalse
is logged since the animation completed playing and the code resumed execution.
Expected Behavior
It is expected that an animation would play as normal code-wise and not infinitely hang, regardless of it is visually being overlapped by another animation or not. This is expected behavior, as stated by @AllYourBlox (Animation Engine - Runtime Changes and Fixes - #358 by AllYourBlox).
Actual Behavior
An animation that is being overridden by another animation can infinitely yield if Workspace.AnimationWeightedBlendFix
is set to true
.
Workaround
Setting Workspace.AnimationWeightedBlendFix
to false
.
Issue Area: Engine
Issue Type: Other
Impact: Moderate
Frequency: Constantly
Date First Experienced: 2022-03-10 00:03:00 (-05:00)
A private message is associated with this bug report