Documentation

This documentation helps you understand how to use Animancer's many features in your projects. You can read it from start to finish, or use it as a reference.

Getting Started

  • The Introduction is a good place to start if you are wondering about the benefits of Animancer compared to other animation systems.
  • Download Animancer and check out the Examples to see it in action.
  • The User Manual explains all of Animancer's features in detail.
  • See the Help page if you have any questions, suggestions, or bugs to report.

The Animancer package includes a ReadMe file with a link to bring you here, or you can use the [?] help button in the top right of the AnimancerComponent Inspector (or any of Animancer's other components) to open up its specific API Documentation page.

Download Where to download Animancer Lite and purchase Animancer Pro.
Introduction What is Animancer and how does it compare to other systems?
Examples Animancer includes a series of example scenes to showcase its functionality with detailed tutorials here to explain them.
User Manual The core documentation for all of Animancer's features.
Unity Bugs A list of various bugs and unintuitive behaviours of the Playables API and Unity in general which relate to Animancer.
Source Code General descriptions of the structure of the Animancer source code.
Change Log Feature changes made in each version of Animancer and guidelines for upgrading.
Help and FAQ Where to get help and the answers to some Frequently Asked Questions.

If you think anything in this documentation is missing, incorrect, or unclear, please email animancer@kybernetik.com.au. Any other feedback and suggestions are also welcome.

Download

Where to download Animancer Lite and purchase Animancer Pro.

Introduction

What is Animancer and how does it compare to other systems?

Features Compare the individual features of various animation systems as well as the differences between the Lite and Pro versions of Animancer.
Mecanim vs. Animancer A detailed explanation of the advantages Animancer gives you over Unity's inbuilt animation system.
Glossary Common terminology used by Unity and Animancer.
C# in Unity Learn the basics of C# scripting in Unity.

Examples

Animancer includes a series of example scenes to showcase its functionality with detailed tutorials here to explain them.

01 Basics Getting to know Animancer and performing simple tasks.
02 Fine Control Manipulating the speed and time of animations at runtime and playing animations in Edit Mode.
03 Locomotion Managing character movements throughout a scene using various features such as Blend Trees, Animation Mixers, and Root Motion.
04 Directional Sprites Grouping animations into sets of up/right/down/left (including or excluding diagonals) using ScriptableObjects to implement characters who can face any direction while performing animations.
05 Events Using Animation Events to trigger callbacks, adjust exit transitions, and perform other tasks at a specific time during the animation.
06 State Machines Organising complex systems using Finite State Machines to compartmentalise their logic, resulting in modular scripts which are easy to debug and refactor.
07 Layers Using layers to play multiple separate animations at the same time.
08 Inverse Kinematics Dynamically controlling characters using Inverse Kinematics.
09 Animator Controllers Using Animator Controllers within Animancer or remaking them using direct references instead.
10 Animation Jobs Using the Animation Jobs system with Animancer.
Integration Using Animancer with other plugins.
No Video Tutorials An explanation of why Animancer doesn't have any pure video tutorials.

User Manual

The core documentation for all of Animancer's features.

Getting Animations How to get animations or create your own.
Playing Animations To play an animation using a script simply add an AnimancerComponent and call it's Play(AnimationClip) method.
Transitions Specify animation details in the Inspector so they can be edited as part of the scene rather than being hard-coded.
Blending There are several different ways of combining multiple animations into a single output such as Cross Fading, Layers, Blend Trees, and Mixers.
Events Set up events to trigger some code at a specific time during an animation.
Finite State Machines Managing the functional state of your objects.
Animator Controllers How to use Animator Controllers alongside Animancer.
Timeline You can play Timeline assets using Animancer.
Inverse Kinematics Dynamically control characters by specifying the desired position and/or rotation for a hand or foot.
Animancer Tools Window/Animation/Animancer Tools has some useful utilities, mostly for working with Sprites.
Other Features Features that aren't explained elsewhere.

Unity Bugs

A list of various bugs and unintuitive behaviours of the Playables API and Unity in general which relate to Animancer.

Animation Events Unity's inbuilt Animation Events are sometimes not triggered when they should be.
Animator Controller Speed It's not possible to directly control the speed of a ControllerState.
Paused Skinned Mesh Update Evaluating a PlayableGraph while the editor is paused does not update the SkinnedMeshRenderer it is being applied to.
Reorderable Array Height Unity's reorderable array/list drawer doesn't properly support objects that change height.
Serialized Array Initialization Unity doesn't run field initializers or constructors when resizing arrays in the Inspector.
Stabilize Feet Animator.stabilizeFeet gets set to false during the first update when using playables.
Timeline Timeline audio tracks don't work in Animate Physics mode, trying to preview a Timeline Transition crashes the Unity Editor, and Root Motion doesn't work properly..
Timing There are various minor inconsistencies that can cause animation times to be slightly different from Mecanim.
Update Modes Update modes mostly work in the Playables API, but have a few issues if you try to change them at runtime.

Source Code

General descriptions of the structure of the Animancer source code.

DLLs Import settings for the Animancer.Lite.DLLs.
Creating Custom States You can create new state types by inheriting from AnimancerState (or any type derived from it).
Graph Structure The Playables API which Animancer is built around works using a hierarchical tree-like structure of nodes known as a PlayableGraph.
Asset Sources The example scenes use animations, models, and sprites that are freely available under public licenses, the details of which are listed both here and in their respective folders.

Change Log

Feature changes made in each version of Animancer and guidelines for upgrading.

Animancer v7.4 2023-01-26 - FadeMode.FromStart on any type of state. Simplified multi-layer animation, Mixer initialization, and Animator Controller integration.
Animancer v7.3 2022-07-03 - Made State Machines serializable. Massively rewrote and improved most of the examples.
Animancer v7.2 2021-10-17 - Added support for Unity 2021.2 (Beta), the default layer mixer can now be replaced with a custom Animation Job to implement things like weighted masks, Animancer can now be added to an existing PlayableGraph.
Animancer v7.1 2021-08-13 - Improved the Mixer Transition Drawer, added [ThresholdLabel] attribute.
Animancer v7.0 2021-07-29 - Improved transition time field and event display, added support for [SerializeReference] transitions, added support for custom GUI in the Transition Preview Window.
Animancer v6.1 2021-04-13 - Added Custom Inspector for Sprites and Pack Textures tool.
Animancer v6.0 2020-12-04 - New State Change system for the Animancer.FSM, new Animancer Tools Window with various Sprite utilities, Mixer Transitions can now use both AnimationClips and ITransitions for their children.
Animancer v5.3 2020-10-06 - Reworked Mixer Synchronization, added the ability to drag Animancer Events.
Animancer v5.2 2020-09-16 - Added EventNamesAttribute and Update Rate example.
Animancer v5.1 2020-07-27 - Added the ability to set an Editor-Only name for any AnimancerNode.
Animancer v5.0 2020-07-17 - Minimum Unity Version 2018.4, blend Animancer with regular Animator Controller assigned to the Animator, expanded support for Animation Jobs, added Custom Fade system.
Animancer v4.4 2020-03-27 - Various improvements for Mixers and some significant bug fixes.
Animancer v4.3 2020-03-13 - Mixer Time Synchronization now supports custom speeds.
Animancer v4.2 2020-03-02 - Significant performance improvement and bug fixes for Animancer Lite.
Animancer v4.1 2020-02-21 - Added proper support for custom Animation Curves and multi-track Timeline Assets.
Animancer v4.0 2020-01-28 - Massive changes to the main public API, new Animancer Event system, Transition Preview Window, Mixer Time Synchronization, Timeline support.
Animancer v3.1 2019-08-12 - Added HybridAnimancerComponent and several new examples.
Animancer v3.0 2019-05-27 - Lots of new examples with full tutorial explanations. Serializables for easier Inspector configuration. Performance improvements. Play animations in Edit Mode. Better IK support.
Animancer v2.0 2018-10-08 - Added the ability to play and blend between multiple AnimatorControllers. Moved from PDF User Manual to a website with fully compiled API Documentation.
Animancer v1.3 2018-09-11 - Animancer Lite now includes the Pro-Only features in the Unity Editor, but not in a runtime build.
Animancer v1.2 2018-08-14 - Added AnimancerTransition - a ScriptableObject class which specifies the layer index, fade duration, start time, and speed along with an AnimationClip, allowing you to configure those details in the Unity Editor instead of hard coding them.
Animancer v1.1 2018-05-29 - Added support for animation layers to Animancer Pro.
Animancer v1.0 2018-05-02 - Initial release.

Help and FAQ

Where to get help and the answers to some Frequently Asked Questions.

Debugging Tips for identifying and resolving issues you might encounter while using Animancer.