AnimationState is instantiated in SkeletonAnimation.Awake.
Unless you specified Unity script execution order for that to happen very early, it will be indeterminate between builds (may or may not be why iOS does it one way and breaks and Android happened to have no problem). So it's never really safe to access and use SkeletonAnimation.state in an Awake or OnEnabled magic method.
Note that Unity's official recommendation was always to not do cross-component communication until Start.
Any time you run into this problem though, you can always call SkeletonAnimation.Initialize(false)
. This will ensure that AnimationState state
is instantiated, even in Awake. If it stayed null, the skeleton data probably failed to load, or Unity's doing something else that's screwy.