AnimancerComponent should usually be attached to the same object as the
Animator that it will control so anything which deactivates that object will deactivate both components at the same time. This also allows the
AnimancerComponent to automatically get the reference to the
Animator when it is added so you do not need to manually assign it in the Inspector. Once that reference is assigned, it will automatically collapse the Inspector of the
Animator and show its relevant fields beneath the reference (you can freely expand it again if you want to see it).
|Regular Animator||Animancer Component|
- You can access this documentation via the
[?]help icon in the top right.
Controllerfield is not shown since Animancer does not use it. If something is assigned to that field, it will be shown with a warning to explain that it will apply the output from Animancer to the model, however Unity will still execute the assigned
AnimatorControllerin the background, which is likely a waste of processing time. See the Animator Controllers page if you want to use them in Animancer.
- Due to a bug in Unity, changing the
Update Modeto or from
AnimatorUpdateMode.AnimatePhysicsat runtime will have no effect so it shows a warning for that as well.
Action On Disablefield determines what will happen when the
GameObjectis it attached to are disabled (see the
AnimancerComponent.DisableActionenum for details).
Animator reference could not be found or has been lost, the Inspector will display a warning which you can click on to quickly search for a reference on any of the object's parents or children.
Unlike the Animator window used to set up Animator Controllers, this interface is not used to manually configure states and transitions. That is all done by scripts so this panel is only for debugging and testing. Normally it will only appear in Play Mode, however it works exactly the same if your scripts start playing animations in Edit Mode.
Weightindicates how much each animation will affects the final result. The value displayed here is rounded to save space, but the full value is also shown when the details are expanded. Values that are currently being rounded are shown in italics and values closer to zero are proportionally greyed out.
- Each state has a foldout arrow which can be expanded to show its details.
- A green bar indicates the progress of each animation that is currently playing.
- When the details are expanded, the exact time is shown with a slider to let you control it manually, a multiplier label to indicate how many times it has looped, and an
[N]button to toggle the display between
- The details also include various other important values for that state. Each of the controls corresponds to a property with the same name in the
AnimancerStateclass which can be accessed by code.
Ctrl + Clickon an animation to Cross Fade to it (see below).
Shiftas well will instead queue that fade to occur once the current animation finishes.
- You can drag and drop any
AnimancerComponentInspector to create a State for it.
The context menu of the
AnimancerComponent has several useful functions:
AnimancerPlayable.UnpauseGraphrespectively. They pause or unpause all animations on that object.
Stop All Animationscalls
AnimancerPlayable.Stopwhich stops all animations and rewinds them to the start.
Log Description of Statesuses
AnimancerPlayable.AppendDescriptionto build a log message describing the full details of all animations.
Each individual state also has its own context menu which contains various functions specific to it:
Cross Fadeplay the target state. You can
Ctrl + Clickon an animation to trigger a
Cross Fadewithout opening the menu. This will use the default fade duration (0.25 seconds). These functions are disabled in the video below because the target state is already playing.
End Eventsub-menu shows the details of the
AnimancerState.Events.OnEndcallback if one is registered.
Inverse Kinematicssub menu allows you to toggle
AnimancerPlayable.ApplyAnimatorIKfor the layer the state is on and
AnimancerState.ApplyFootIKfor the state itself.
State Documentationopens the API Documentation page for that state type.
The context menu for
AnimationClip assets also has some additional functions:
Toggle Loopingswaps the
Motion.isLoopingflag between true and false. This function works for all selected animations at once, which is useful since you can't edit multiple
AnimationClips at once. Note that for some reason you need to close Unity and restart it for this change to actually take effect.
Toggle Legacyswaps the
AnimationClip.legacyflag between true and false.
- New Locked Inspector and Watch are added by Inspector Gadgets.
Animancer supports Humanoid, Generic, and Sprite animations, but each object will only be one specific type so it will show a warning for any animation of the wrong type.
Internally, Sprite animations are actually just Generic animations which happen to control the
SpriteRenderer.sprite rather than rotating bones. This means that the way Animancer differentiates between them may not be 100% accurate because an animation could do both so it is only a recommendation in the Inspector rather than an error message.
The Playables API (and thus Animancer) does not support Legacy animations. If you have a model set to Legacy, you will need to change it in the Rig tab of its Import Settings. Otherwise if you have an
AnimationClip which is a ".anim" asset (not imported as part of a model), the
Toggle Legacy function shown above will swap the animation type.