Animancer v4.3

Released 2020-03-13

When upgrading to a newer version of Animancer, you must delete any previous version from your project first.

Features

  • Mixer Time Synchronization now supports custom speeds.
  • Added UnityVersionChecker for Animancer Lite to verify that Animancer.Lite.dll was compiled for the current version of Unity. Generally this was only a problem if you downloaded Animancer Lite and then updated Unity to a version that has a different compilation of Animancer Lite. This is not an issue in Animancer Pro since Unity will simply recompile the scripts as necessary.

Improvements

  • Animancer End Events now work for zero length animations.
  • Added more specific warnings than "no Override layers at weight 1" when there is only one layer or none.
  • Improved the exception message caused by using FadeMode.FromStart (or normalized) with a state that has no AnimancerState.Clip to be more explicit about the fact that it will only work for ClipStates. #32
  • Added caching to the animation gathering system used by the Animation window so does not need to iterate through the entire hierarchy every time the window repaints. #27
  • AnimancerNode.AppendDetails now provides both the cached Speed and the real value from the playable if they are different.
  • Added an assertion to validate the number of serialized speeds in mixer transitions instead of simply ignoring them if the count was incorrect.

Fixes

  • Reworked playable initialization and connection to be more reliable.
  • Fixed errors when trying to get or set the value of a SerializedProperty with a null object somewhere in its chain.
  • Fixed the From Angular Speed context menu functions in mixers to use the correct units. #29
  • AnimatedProperty is now [Obsolete] in Unity versions older than 2019.1 instead of not existing at all so that it can explain that Animancer Lite users will need to re-download Animancer if they update Unity.
  • Added AnimancerNode.Graph so that custom nodes defined outside the Animancer assembly can access the root graph to create their playables (because it is internal).
  • Removed the implicit conversion from AnimationClip to ClipState because it could result in states being created accidentally if the wrong overload is used in certain methods that are intended to look up an existing state instead.
  • Fixed a bug in the way ManualMixerState.Drawer caches its details.