Help and FAQ

Contact

If you can't find what you are looking for in this documentation, there are several places where you can get help:

Animancer Help General Help

Frequently Asked Questions

Question Answer
1. Can non-programmers use it? Yes. The C# in Unity section introduces the fundamentals of programming and the Examples contain detailed explanations of how things work. Do not hesitate to use the links above if you need to ask questions.
2. Why replace Mecanim? The Mecanim vs. Animancer section explains the problems with the Mecanim Animator Controller system and the ways Animancer solves them.
3. What are Playables? Unity's Playables API is the low level system which both Mecanim and Animancer are built upon. As mentioned above the Feature Comparison table, it allows you to build animation systems but is too low level to be easily useful on its own.
4. What is the difference between Pro and Lite?

Animancer Pro includes the full source code and has more features which the Lite version only allows you to use in the Unity Editor for trial purposes. See the Feature Comparison for the actual list of differences.

Note that the Animancer.Lite.dll files in the Animancer Pro package are empty dummies which are only there to overwrite the ones from the Lite version so that you can upgrade seamlessly. Animancer Lite only includes the source code of some things such as the Finite State Machine system, but not the core of Animancer.
5. Which version of Unity should I use? Minimum 2018.4. Recommended 2019.4+. Tested up to 2020.1. Note that if you are using Animancer Lite and you change to a different Unity version, you should re-download Animancer for that version to avoid potential compatibility issues.
6. Is it compatible with X? Probably. Animancer is based on the Playables API, which means most systems developed for regular Mecanim Animator Controllers should work normally alongside Animancer, with a few exceptions. See the Compatibility section for more details.
7. Is the performance good? Yes. Animancer is notably faster than Mecanim at Instantiation and very slightly faster in Average Frame Rate, though the differences are small enough not to matter. See the Performance Benchmarks for more details.
8. How can I control the speed or time of an animation?
[Pro-Only] Use the AnimancerState returned by the Play or CrossFade method: (click to expand)
void PlayAnimation(AnimancerComponent animancer, AnimationClip clip)
{
    var state = animancer.Play(clip);
    state.Time = ...
    state.NormalizedTime = ...
    state.Speed = ...
    state.OnEnd = ... 
string s = "test"
}

Speed and time control are demonstrated in the Fine Control examples.

Those properties are not included as parameters in the Play methods because they already have multiple overloads with several default values and a call like Play(clip, 0.25f, 1, 0.5f, 0.5f) would not be particularly clear about what each value does without close examination. But if you really wanted to, you could implement them using extension methods:

public static class AnimancerExtensions
{
    public static AnimancerState Play(this AnimancerComponent animancer, AnimationClip clip, int layer, float time, float speed, System.Action onEnd)
    {
        var state = animancer.Play(clip, layer);
        state.Time = time;
        state.Speed = speed;
        state.OnEnd = onEnd;
        return state;
    }
}
9. Can I still use Animator Controllers? [Pro-Only] Yes, you can use HybridAnimancerComponents and Controller States to play them inside Animancer so that you can mix them with separate animations as necessary. You can even blend between multiple Animator Controllers if you want. The Animator Controller examples demonstrate how to do so.
10. Can I mirror animations? As explained in the Feature Comparison table, you can mirror Humanoid animations in their import settings but not per state. If you need both mirrored and un-mirrored versions of a particular animation, you will need to duplicate it and mirror one of them.