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 General

Frequently Asked Questions

Question Answer
1. Can non-programmers use it?

Controlling Animancer requires some programming just like every other animation system. It does involve a bit more code than Animator Controllers, but that code controls everything instead of needing to communicate back and forth with an Animator Controller so the overall logic ends up being much easier to understand even for less experienced programmers.

The C# in Unity site introduces the fundamentals of programming and the Examples contain detailed explanations of how things work. Do not hesitate to use the Contact 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. 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 Conversion page for more details.
6. 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.
7. 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;
    }
}
8. Can I still use Animator Controllers? [Pro-Only] Yes, the Animator Controllers page explains how you can use them with Animancer.
9. 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.