See the Animancer v8.0 Upgrade Guide if you're upgrading from a version older than that.
Minor Breaking Change
- Any Transition Library Groups created in previous versions will forget which transitions they contained. This is an unfortunate side effect of fixing the underlying data structure to make the whole system more stable.
Features
- Added proper
async/awaitsupport. #464- Added a new Async and Coroutines page to explain these new features.
- The ability to
yield returnanAnimancerStatein a coroutine to wait for it to pass its end time has existed since the initial release of Animancer. - Changed this behaviour to continue the coroutine if the
TargetWeightis 0 rather than if the state is paused.- Pausing a state will now keep yielding in coroutines that are waiting for it.
- Playing a different animation will now immediately continue execution of coroutines that are waiting for it instead of yielding until the previous animation finishes fading out.
- You can now
awaitanAnimancerStatein anasyncmethod to do the same. awaitandyield returncan now usestate.Await(...)where you specify a normalized time or an Animancer Event name to wait for.- Using
awaiton astateorstate.Await(...)will also return a result indicating whether the state successfully reached its target time. For example:bool success = await state;trueindicates that the state passed its end time.falseindicates that the state was interrupted by something else.
- Renamed
AnimancerNode.IsPlayingAndNotEndingtoIsApproachingEnd. - Added
IsApproachingTime.
- Added an On Play Event for debugging.
- By default, this event only exists in the Unity Editor and in Development Builds.
- To enable it in regular Release Builds, go to
Edit -> Project Settings -> Player -> Other Settings -> Scripting Define Symbolsand addANIMANCER_ON_PLAY_EVENTSto the list. - The primary use case for this event is logging with the utility methods
animancerComponent.OnPlay += AnimancerState.LogPlayingMessage;orLogPlayingMessageDetailed.
- Changed the Transition Preview Window to remember the last camera location by default instead of always resetting to the default focus position.
- The old behaviour can be restored by enabling Auto Focus Camera in the Settings tab.
- Added the ability to replace Transitions in a Transition Library while keeping any modifiers or aliases which reference them.
Improvements
- Added descriptive warnings when using the
GenerateSpriteAnimationsToolwith an invalidTarget Type. #465 - Marked the
IUpdatable.UpdatableIndexsetter as[Obsolete]since it should only be set byIndexedLists.
Fixes
- Fixed an incorrect warning about serialization cycles in Unity 6.5 caused by
TransitionLibraryModifiersPage. - Fixed
AnimancerEvent.Parameterto be[Serializable]so it doesn't cause warnings in Unity 6.4. - Fixed handling of the Unity 6.3 change from Instance IDs to Entity IDs. #463
- Fixed various potential issues with static fields in case the Play Mode Domain Reload is disabled. #460
- Fixed
AnimancerUtilities.InitializeSingletonto properly re-initialize in Play Mode if an existing instance was created in Edit Mode. - Transition Libraries:
- Fixed runtime initialization to properly account for the indices of missing Transitions when assigning modifiers.
- Fixed the drag and drop system in the to be more reliable without causing unexpected changes.
- Fixed selection to not deselect groups on domain reload.
- Fixed selection to properly highlight grouped Transitions.
- Fixed the window to draw missing Transitions so they can be removed.