diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs index e68bd4d83..d4c611ea2 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs @@ -379,12 +379,13 @@ namespace Spine.Unity { var layerInfos = layerClipInfos[layer]; int clipInfoCount = animator.GetCurrentAnimatorClipInfoCount(layer); int nextClipInfoCount = animator.GetNextAnimatorClipInfoCount(layer); - + var clipInfos = layerInfos.clipInfos; var nextClipInfos = layerInfos.nextClipInfos; var interruptingClipInfos = layerInfos.interruptingClipInfos; - layerInfos.isInterruptionActive = (clipInfoCount == 0 && nextClipInfoCount == 0); + layerInfos.isInterruptionActive = (clipInfoCount == 0 && clipInfos.Count != 0 && + nextClipInfoCount == 0 && nextClipInfos.Count != 0); // Note: during interruption, GetCurrentAnimatorClipInfoCount and GetNextAnimatorClipInfoCount // are returning 0 in calls above. Therefore we keep previous clipInfos and nextClipInfos