I'm trying to update my spine unity runtime and ran into an issue where the new timeline behavior is not working very well for our use case.
Our timelines edit proxy objects and by the time that HandleClipEnd is triggered, the target object has been destroyed by Unity. However, the timeline's logic for checking null (animationStateComponent == null) is not early-exiting because the object has been converted to a C# interface reference and will no longer utilize the Unity null check override that checks if the object has been destroyed by Unity.
My recommendation is to add a IsDestroyedCheck property/method to the interface that will call into the SkeletonGraphic or SkeletonAnimation to make sure we can call the Unity component/gameobject equality operator. For now I'm going to add a reference to the appropriate component to do the check against the Unity.Object so that we can get the overloaded null operator.