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
AnimationJobStatefor easily running custom animation jobs as states. #362 and #375 - Added
Normalizethreshold function for 2D Mixers. - Added
Transition Assets From Selectionfunction to theAssets/Create/Animancermenu. - Added visual separators and selection highlights to the Inspector GUI for
AnimancerEvent.Sequence.Serializable. #412 - Improved the
SimpleLeansystem:- Added a constructor which allows a custom
Transformto be used as the root bone instead of theAnimator. - Added
ConnectandDisconnectmethods.
- Added a constructor which allows a custom
- Changed
AnimancerLayer.Playto only fade the layer in if itsTargetWeightis 0 so it doesn't interfere with caller initiated fades. - Changed
OptionalWarning.NativeControllerHybridtoNativeControllerStateand it's now triggered from within anyControllerStaterather than only from aHybridAnimancerComponent. - Exposed some more options for accessing sprite data using
SpriteDataEditor. - Fixed
AnimancerGraphControlsto not pause thePlayableGraphfor the selected object when the Unity Editor is paused. #411 - Fixed
WeightedMaskLayersDefinition.IsValidto 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.CopyEventsto always clone its events in order to avoid conflicts between states or double registering callbacks. - Fixed pressing
Deletewith an End Event selected to not cause an exception if there are no other events. - Fixed
LinearMixerState.CopyFromto properly apply parameter name bindings. - Fixed the
Initialize 8 Directionsthreshold function for 2D Mixers to use normalized values for its diagonals. - Fixed compile error in
SpriteDataEditorwhen the 2D Sprite package is missing. - Fixed
AnimancerGraph.SkipFirstFadeto not lower the input count on the base layer'sPlayablein Lite Runtime Builds. #413 - Fixed
AnimancerEvent.AppendDetailsto 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
MaterialVariantGroupsystem for setting up alternative materials for each render pipeline since Unity's material upgrader doesn't properly upgrade Alpha Cutoff materials. - Added
OptionalWarning.MainObjectMismatchandtransition.ReconcileMainObjectto detect and fix situations where theMainObjectof a transition is changed so the state no longer matches it. - Added context menu functions to create
TransitionAssets fromAnimationClips,AnimatorControllers, andPlayableAssets. - Added
Copy Events from Animation Clipcontext menu function to the Transition Inspector's event timeline. - Added
StringAsset.FindandCreate. - Added
DictionaryPoolfor convenience. - Added
TransitionAssetBase.Eventswith an[Obsolete]attribute explaining why directly accessing the Events of a Transition Asset is generally not recommended.
Improvements
- Improved Directional Animation Sets:
- Added
DirectionalAnimationSet2andDirection2for left/right animation pairs. #396 - Renamed
DirectionalAnimationSettoDirectionalAnimationSet4. - Refactored all sets to have a generic base class
DirectionalSet<T>to allow sets of transitions or transition assets or any other type to be created. - Moved the
Directionenums out of their corresponding sets to be calledDirection4andDirection8. - To make a field which can be given any
DirectionalAnimationSet2,DirectionalAnimationSet4, orDirectionalAnimationSet8you now need to useDirectionalSet<AnimationClip>as the field type. - Moved their static methods out to the
Directionsclass. - Renamed their methods in the generic class to be more generic since they could now refer to any type:
- Renamed
GetCliptoGet. - Renamed
SetCliptoSet. - Renamed
ClipCounttoDirectionCount.
- Renamed
- Added
- Improved the default camera settings in the Transition Preview Window. #388
- Improved the log message for
OptionalWarning.DynamicAnimationto explain that Asset Bundles and Addressables are fine. - Optimized
TableGUIto skip drawing cells outside the current view area. #384
Changes
- Changed the collection pool
Releasemethods into extension methods. - Changed
AnimancerComponent.GatherAnimationClipsto include clips from the Transition Library if one is assigned. - Changed all Transition Library classes to use
IAnimationClipCollectionsince it's more flexible thanIAnimationClipSource. - Changed
AnimancerLayer.Playto not start fading in the layer if it was set to a non-zero weight and not fading. - Changed
AnimancerLayer.IncrementCommandCounttopublicso users can avoidOptionalWarning.EndEventInterruptfor a specific event without disabling the warning entirely. - Removed the equality operator overloads from
StringAssetbecause they can often be called during serialization when Unity isn't ready to let the asset name be used. - Removed
ITransitionWithEventsand merged it intoITransitionDetailed. - Renamed
AnimancerComponent.InitializePlayabletoInitializeGraphfor consistency with the otherInitializeGraphmethod.
Documentation
- Added a brief explanation of how the Dynamic Layers sample can be expanded upon to its Conclusion.
- Added Parameter Debugging section.
- Added a section about When should Transition Assets be used?
- Added a section about When to use End Events.
- Added examples to the
ITransitionGUIAPI pages.
Fixes
- Fixed
SpriteEditorexceptions caused by the targetSpritenot having aTexturesuch 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
ExitEventto properly assign its callback in its constructor. #397 - Fixed
AnimancerComponent.GetAnimationClipsto exclude missing clips because they crash the Animation Window in Unity 6 or older. - Fixed errors in
ClipTransitionSequencecaused by trying to access the name ofStringAssets used as event names during deserialization. - Fixed
MixerState.NormalizedParameterto 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.Destroyto properly clean up all itsPlayables andPlayableOutputs. #386 - Fixed
PlayableAssetState.Speedto 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
SampleReadMebeing Editor-Only. - Fixed the Directional Character Sample to not cause errors if Unity's 2D Physics module is disabled.
- Fixed
TransitionLibrary.TryGetTransitionand the Animation Serialization sample to supportAnimancerState.Keychaining for states created byFadeMode.FromStart. #395 - Fixed the
Show Inactive StatesDisplay Option to work without needingSeparate Active From Inactive Statesto also be enabled. - Fixed
PropertyDrawersto properly findUnityEditor.ScriptAttributeUtility.GetDrawerTypeForTypein 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.