Animancer v7.2

Released 2021-10-17

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

See the Animancer v7.0 Upgrade Guide if you're upgrading from a version older than that.

Features

  • Added support for Unity 2021.2 (Beta).
  • Unsealed AnimancerPlayable.LayerList so the default layer mixer can be replaced to achieve things like applying weighted massks to individual bones. #154
  • Added AnimancerComponent.InitializePlayable(PlayableGraph) to add Animancer to an existing graph (to allow the Animation Rigging package to be used while the graph is paused).

Changes

  • Added AnimancerPlayable.LayerList.GetLayer for quick access to layers so the _Layers field doesn't need to be internal.
  • Added warning in PlayableAssetState.InitializeBindings when attempting to bind a track to the same Animator that Animancer is controlling.
  • Made AnimancerNode.ApplyWeight public. #147
  • Removed AnimancerPlayable.StateDictionary.DestroyAll since it was likely not very useful and its implementation was potentially confusing (it applied to all states regardless of whether or not they were actually in the dictionary).
  • Changed MixerTransitionDrawer to manually hide the Thresholds array instead of using a [HideInInspector] attribute so that the field will at least be shown as a normal array if Odin Inspector causes the wrong drawer to be used. #158
  • Changed AnimancerNode.DebugName to be ignored if it is an empty string (rather than only while null).
  • Renamed AnimancerPlayable.SetOutput to CreateOutput.
  • Renamed AnimancerPlayable.Destroy to DestroyGraph and added DestroyOutput.

Fixes

  • Fixed NullReferenceException when an Animancer Event plays another animation. #143
  • Fixed OptionalWarning.EndEventInterrupt to not be triggered if the event moves the state time back so it's no longer ending or if the OnEnd callback is modified. #148 and #152
  • Fixed initialization error in CompactUnitConversionCache.
  • Fixed playing an AnimancerState on a different object from its previous one to work properly.
  • Fixed AnimancerState.Key to not throw a NullReferenceException if the Root is not set. #144
  • Fixed MixerState.DontSynchronize and DontSynchronizeChildren to not throw exceptions on states with un-initialized Playables. #144
  • Fixed PlayableAssetState.InitializeBindings to create the correct outputs even when there are no bindings.
  • Fixed CustomFade to properly apply all the weights immediately to avoid issues when some states are updated before it and some after. #147
  • Fixed MixerState.CalculateRealEffectiveSpeed to work properly when the AnimancerPlayable.Speed is not 1. #150
  • Fixed TransitionDrawer to not add indentation to its fields if the given label is empty since that is likely an indication that something else (like Odin Inspector) is drawing the property and has already added the required indentation.
  • Fixed AnimancerToolsWindow.SpriteModifierPanel to be able to correctly match sprite data to sprites when the texture is scaled down due to the Max Size setting. #155
  • Fixed the SpriteEditor to be able to rename sprites using modes other than SpriteImportMode.Multiple.
  • Fixed fade speed to be properly affected by time scale in newer Unity versions. #129
  • Fixed the Inspector for PlayableAssetTransition to correctly size the Bindings for the assigned asset.
  • Fixed AnimancerLayer.EvaluateFadeMode to not fade out the old animation if it creates a new one for a different layer.
  • Fixed exception in AnimancerEvent.Sequence.Serializable.GetEventsOptional when the Callbacks array is null.
  • Fixed TargetException when resizing a list of Transitions in the Inspector in Unity 2019.4.