Unity’s Mecanim Animator Controller system has six main problems which are solved by Animancer:
Mecanim | Animancer | |
---|---|---|
Simplicity | Everything requires extra steps. To play something you need to make a state, give it an animation, make a parameter, make a transition based on the parameter, and set the parameter with a script. Read More |
Just get the AnimationClip you want and tell Animancer to play it.Read More |
Transparency | All those extra steps are extra things that can go wrong, but it's impossible to debug them effectively when you don't have the source code to place breakpoints and it doesn't expose many of its internal details so you can't even log the decisions it makes. Read More |
Animancer Pro gives you full access to its source code so you can see what it's doing and use a proper debugger. But even without that, it doesn't try to manage its own behaviour, it just does what it's told and lets you access all its internal details at any time. Read More |
Adaptability | All the animation logic for a character must always be defined in exactly one Animator Controller. Read More |
Your scripts can organise the animations they will be using in whatever way you find most logical for each situation. Read More |
Safety | Requires magic strings to identify states and parameters which are defined outside your code: Play("IHopeThereIsAStateWithThisName") Read More |
Directly referencing the animations you want to play minimises your external dependencies: Play(thisAnimationClip) Read More |
Clarity | Scripts and Animator Controllers are strongly dependant on each other's logic, but never give any clear indication of exactly which parts they depend on or what things are used for. An Animator Controller with a Jump state might be able to jump, but only if they have a script which will get them into that state.Read More |
Scripts define all their logic and requirements. A script with a Jump Animation field in the Inspector obviously needs a jump animation, or if a character doesn't have a jump script then they can't jump and don't need that animation.Read More |
Reliability | Tries to manage its own behaviour and will ignore or delay commands it isn't ready for. Calling Play multiple times in the same frame will just play the first one and completely ignore the rest without warning.Read More |
Always does exactly what your scripts tell it to do. Calling Play multiple times in the same frame will end up with the last one playing because that's how code is supposed to work.Read More |