Hi, this is probably not specific to Unity, as I can reproduce it in Spine editor too.
I discovered that the behavior of MixBlend is different for track 0 and higher tracks. Which is fine, but somehow I thought that the runtime is clever enough that if I am playing animation on track 1 and there is nothing on track 0, the track 1 could behave like a track 0 (means using MixBlend.First)
Because of this, I need to manually call this after setting any animation because the track 0 in our case is often kept cleared:
private void SetTrackEntryMixBlend(TrackEntry trackEntry)
{
if (trackEntry.TrackIndex == 1)
{
if (skeletonAnimation.AnimationState.GetCurrent(0) == null)
trackEntry.MixBlend = MixBlend.First;
}
}