I have an object with animations. I start the jump animation and assign positions for the jump and landing effects, after completing the animation, I clean the track(animator.AnimationState.ClearTrack(0);). However, one of the effects continues to be displayed on the stage. Although at the same time, another animation has already been started for the object at this index. What could be wrong?
https://icecreamapps.com/v/hys6u9d
this animation without script:
https://icecreamapps.com/v/fhzh89k

Related Discussions
...

Nate Thanks a lot, setToSetupPose helped. setEmptyAnimation did not change anything.But I don't understand - why, if I changed the animation to move, did one of the effects of the old animation remain? I changed it here

private void HandleAnimationComplete(Spine.TrackEntry trackEntry)
    {
        if(trackEntry.Animation.Name != "move")
        {
            animator.skeleton.SetToSetupPose();
            Debug.Log("cleared: " +  trackEntry.Animation.Name);
            animator.AnimationState.SetAnimation(0, "move", true);
            _movement.MultiplySpeed(1);
            _usingSkill = false;
        }
        if(trackEntry.Animation.Name == "jamp")
        {
            gameObject.layer = 3;
        }
        
    }

    sxweb Unfortunately, it is not clear from the video and the partial code what the cause is. Could you please email us a minimal Unity project that can reproduce the issue?: contact@esotericsoftware.com

    If you set an empty animation and immediately set another animation, it won't do anything. The second animation should use addAnimation.

    However, you don't need any of that. You can just set a new animation without clearTrack, setToSetupPose, or an empty animation.