Calling :Stop(0) on an AnimationTrack will force the next :Play() called on that AnimationTrack to have a fadeTime of 0, regardless of whatever number you passed. Here’s an example of what I mean. I have this piece of code:
This is a run animation for a character. According to the code the character should start and stop running a few times with some time in between. The fadeTime is always equal to 0.5 except for the second :Stop() command which uses a fadeTime of 0. As a result every transition except for the second stop should be fading in/out. This is not the case however. This is what happens instead:
As you can see the character starts and stop running normally. The Stop(0) also works as it should, but when Play(.5) is called afterwards the character immediately starts running and there’s no transition whatsoever. You can also see that the bug does not persist as the next Stop’s and Play’s do work correctly. It think it has something to do with Stop(0) causing the animation to not stop correctly.
For now it’s possible to work around this bug by using a fadeTime of 0.01 as the Stop()'s first argument, but this is certainly a bug that should be fixed.