I have read SkeletonMecanim script and I wonder why you guys does not expose a ManualUpdate to call when updateTiming is ManualUpdate? I want to call it in LateUpdate to avoid delay one frame on transition. Cause the Animator update its state infor at LateUpdate, so if we set the updateTiming is InUpdate, the state of animator have not updated. This lead to when you transition to another state, at one frame later, the spine will be stayed at the previous state.
My current workaround approach is create a class inherit SkeletonMecanim and expose the UpdateAnimation function and call it at LateUpdate of another script. And it work properly, but I think I need a more official way.
public void ManualUpdate()
if (!valid || updateTiming != UpdateTiming.ManualUpdate) return;