Animancer v8.1

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

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

Animancer v8.1.1

Released 2025-05-26

  • Added AnimationJobState for easily running custom animation jobs as states. #362 and #375
  • Added Normalize threshold function for 2D Mixers.
  • Added Transition Assets From Selection function to the Assets/Create/Animancer menu.
  • Added visual separators and selection highlights to the Inspector GUI for AnimancerEvent.Sequence.Serializable. #412
  • Improved the SimpleLean system:
    • Added a constructor which allows a custom Transform to be used as the root bone instead of the Animator.
    • Added Connect and Disconnect methods.
  • Changed AnimancerLayer.Play to only fade the layer in if its TargetWeight is 0 so it doesn't interfere with caller initiated fades.
  • Changed OptionalWarning.NativeControllerHybrid to NativeControllerState and it's now triggered from within any ControllerState rather than only from a HybridAnimancerComponent.
  • Exposed some more options for accessing sprite data using SpriteDataEditor.
  • Fixed AnimancerGraphControls to not pause the PlayableGraph for the selected object when the Unity Editor is paused. #411
  • Fixed WeightedMaskLayersDefinition.IsValid to work properly if there's only one weight group. #400
  • Fixed an issue with setting up Animancer Events in the inspector where adding a new callback could affect the callbacks of previous events.
  • Fixed AnimancerState.CopyEvents to always clone its events in order to avoid conflicts between states or double registering callbacks.
  • Fixed pressing Delete with an End Event selected to not cause an exception if there are no other events.
  • Fixed LinearMixerState.CopyFrom to properly apply parameter name bindings.
  • Fixed the Initialize 8 Directions threshold function for 2D Mixers to use normalized values for its diagonals.
  • Fixed compile error in SpriteDataEditor when the 2D Sprite package is missing.
  • Fixed AnimancerGraph.SkipFirstFade to not lower the input count on the base layer's Playable in Lite Runtime Builds. #413
  • Fixed AnimancerEvent.AppendDetails to properly list all callbacks for each event if there is more than one.

Animancer v8.1.0

Released 2025-02-26

Features

  • Added bool AnimancerState.Events(ref AnimancerEvent.Sequence) which allows multiple callers to take turns reusing the same state while each maintaining ownership of their own set of events.
  • Added MaterialVariantGroup system for setting up alternative materials for each render pipeline since Unity's material upgrader doesn't properly upgrade Alpha Cutoff materials.
  • Added OptionalWarning.MainObjectMismatch and transition.ReconcileMainObject to detect and fix situations where the MainObject of a transition is changed so the state no longer matches it.
  • Added context menu functions to create TransitionAssets from AnimationClips, AnimatorControllers, and PlayableAssets.
  • Added Copy Events from Animation Clip context menu function to the Transition Inspector's event timeline.
  • Added StringAsset.Find and Create.
  • Added DictionaryPool for convenience.
  • Added TransitionAssetBase.Events with an [Obsolete] attribute explaining why directly accessing the Events of a Transition Asset is generally not recommended.

Improvements

Changes

  • Changed the collection pool Release methods into extension methods.
  • Changed AnimancerComponent.GatherAnimationClips to include clips from the Transition Library if one is assigned.
  • Changed all Transition Library classes to use IAnimationClipCollection since it's more flexible than IAnimationClipSource.
  • Changed AnimancerLayer.Play to not start fading in the layer if it was set to a non-zero weight and not fading.
  • Changed AnimancerLayer.IncrementCommandCount to public so users can avoid OptionalWarning.EndEventInterrupt for a specific event without disabling the warning entirely.
  • Removed the equality operator overloads from StringAsset because they can often be called during serialization when Unity isn't ready to let the asset name be used.
  • Removed ITransitionWithEvents and merged it into ITransitionDetailed.
  • Renamed AnimancerComponent.InitializePlayable to InitializeGraph for consistency with the other InitializeGraph method.

Documentation

Fixes

  • Fixed SpriteEditor exceptions caused by the target Sprite not having a Texture such as when imported via Unity's Vector Graphics package. #373
  • Fixed playing a fading state on a different layer to cancel the fade on the clone so that it can start cross fading everything properly.
  • Fixed ExitEvent to properly assign its callback in its constructor. #397
  • Fixed AnimancerComponent.GetAnimationClips to exclude missing clips because they crash the Animation Window in Unity 6 or older.
  • Fixed errors in ClipTransitionSequence caused by trying to access the name of StringAssets used as event names during deserialization.
  • Fixed MixerState.NormalizedParameter to use a range of -1 to 1 if the thresholds include both positive and negative values rather than always using 0 to 1. This makes more sense for most 2D Mixers which are usually centered on 0 unlike Linear Mixers which usually start at 0.
  • Fixed PlayableAssetState.Destroy to properly clean up all its Playables and PlayableOutputs. #386
  • Fixed PlayableAssetState.Speed to properly affect the speed of additional tracks.
  • Fixed the Transition Preview Window to properly focus on the target object. #388
  • Fixed the Models list in the Transition Preview Window settings to be properly expandable.
  • Fixed transition previews to not trigger OptionalWarning.UselessEvent.
  • Fixed build issues caused by SampleReadMe being Editor-Only.
  • Fixed the Directional Character Sample to not cause errors if Unity's 2D Physics module is disabled.
  • Fixed TransitionLibrary.TryGetTransition and the Animation Serialization sample to support AnimancerState.Key chaining for states created by FadeMode.FromStart. #395
  • Fixed the Show Inactive States Display Option to work without needing Separate Active From Inactive States to also be enabled.
  • Fixed PropertyDrawers to properly find UnityEditor.ScriptAttributeUtility.GetDrawerTypeForType in Unity 2022.3.
  • Fixed event time fields to draw with consistent GUI Control IDs so that going from no End Time to having an End Time doesn't change the active ID.