Instant Animation State and Legacy Animation System

Back when I started on my project, I had decided to go with the new animation system, because it simply is the newest and for that reason it should be better. But I guess I was wrong. It feels much better for me to run the animation through code, than to use that weird blend tree (I really don’t get used to it, no matter how much I try).

The first problem that I ran into when trying to use the current animation system, was to try to fire an animation when something happen - in my case, the left mouse button getting fired. That was complicated as hell to me. I first tried to add an state after the entry point, but I noticed it couldn’t have any condition because that was the entry point. Then, I added an “Idle” event, and connected the idle event with my wanted animation state, also adding a bool as condition. I changed the bool through script hoping for the animation to play, but it took too long to start playing. I figured out the problem later: the Idle state, would take a while to execute, and it would only start playing the other animation when it finished. I wanted the idle animation to be instant, then I changed its speed to 10000, but it just doesn’t feel right to me. Does anyone know how to get it working the right way? Maybe I’m missing something that I just couldn’t realize.

Well, because of that plus seeing some weird blend trees on the internet, with LOADS of confusing animation states connected, I’m thinking about switching to legacy animation. It seems to be simpler for me. But I’m afraid to start working on the legacy animation system for it to be deprecated or not working in future versions. What should I do? Also, if someone knows the answer to the issue I was facing before with the current system, I’d be glad if you let me know.

TL;DR: I ran into a few problems while using the current animation system. I’m thinking about switching to the legacy, because it seems to be way easier to execute and manage. I’m only worried that it gets deprecated or doesn’t work in future versions of Unity.

Dude I feel your pain! I made a similar thread that has been growing for a while now: Animation, not Mecanim? - Unity Engine - Unity Discussions

If you want something close to the Legacy system, what I recommend is to make every animation have a transition from the Any State node on the Mecanim controller. Check out my most recent post on the thread above, as I just posted a picture example of that.

There was some helpful people in that thread discussing how you can setup Mecanim to have more fluid transitions as well. There are a lot of options to learn about! It sounds like you might be using Has Exit Time? Try turning that off on all your transitions.

I’m happy with Mecanim now by using Any State transitions for everything and tweaking my transition options to be more fluid.

1 Like

Just took a look at it. Seems interesting! I’ll try that out, thanks for informing :slight_smile: