Search Unity

Hi everyone,

After the excitement of the Unity 4 release and the creative blast of Ninja Camp, it’s time for another Mecanim update.

Unity 4 with Mecanim brings beautiful efficiency and ease of use to creating AAA animation for your interactive content. But that was just the first iteration of our new animation system! Here are some details about new features and updates in the roadmap.

Our immediate main task is to polish the animation creation tools and workflows. We plan to open the Mecanim API to create and control Animators, allowing you to create and set up State Machines and Blend Trees completely from scripting. We’ll make it possible to control the flow of a State Machine by forcing Transitions and time progression in States. Finally, we plan to develop cool new features like 2D Blend Trees and IK for fingers. Here’s a short list of planned features:

– Discover State Machines and Blend Trees that use a Parameter
– Create State Machine to State Machine Transitions
– Use different icons in State Machine for Animation Clip or Blend Trees
– Animation Events for Mecanim
– Ability to zoom/dolly in Animator Preview window
– Hot swap of controllers at runtime
– Make Foot Bottom Height available in public API to help foot planting and similar IK rigs
– Trajectory Node for Humanoid Clip
– Runtime mirror and cycle offset. In States and Blend Tree Leaves
– 2D Blend Trees
– Controller recording
– Auto Ragdoll

We worked on some of these  planned features at Ninja Camp VII, which you can read more about here.

That’s it for now.  Thanks!


41 replies on “What’s next on Mecanim roadmap”

This blog is truly a gold mine. I have been wallowing on this for quite sometime and here I am reading about it!

Yes, what Mike and Bill mentioned (for example, audio for footsteps). Using curves is a bit convoluted for triggering single events, especially if you need parameters, and would basically require creating my own event system, which seems silly when one is in the works. Someone created something in the asset store, which looks like a good stop-gap:

Alternatively, spawning particles for a shooting animation, or spherecasting for a spell animation, apply stat bonuses at an exact moment, etc.

@BOB, Is there an ETA on the “Animation Events for Mecanim”? This is a critical feature we need for development… surprised that it was omitted. Just like MIKE said, it’s crucial for timing soundfx, visualfx, and other important things requiring knowing at what frame/time we are in the animation. Thanks!

@BOB, I don’t know how Josh would use it but one obvious example of anim events is to trigger both visual and sound effects in an attack animation at the “right time”. Such as damage flyoffs, particles and impact sounds.

@TIMUR: Opening Mecanim API is top priority on our short term roadmap.

“create/change state machines dynamically” will be available soon in a point release.

@DAVE: First I would say that retageter was not meant to drive 2D anim… but why not? I gave it a try and was kind of successful!
– Consider you character as a 3D model when setting the T-Pose. Roll upper arms 90 degree so that elbow hinge axis points Up. Roll upper legs so that knees hinge axis are parallel with world X.
– 2D animation should then be projected correctly on 3D dof.

Would it be possible to get some of your content to validate what I propose above? (my test case was kind of fake 2D stuff, not real user data)


Could you please let me know about estimates for Mecanim API to be able to create/change state machines dynamically? Mecanim seems to be very nice tool and such functionality will make it possible to use Mecanim in projects with dynamically created characters (from many parts with different animations).

Thanks in advance!

All these new features sound great!

I have a thread going in the forum about using Mecanim re-targeting with 2D characters. Any consideration for extending Mecanim to work with 2D?

Or said a different way:
Dialing the mecanim requirements of retargeting back and create an advanced mode, leaving it up to the user to decide on the number of bone, starting pose etc.

Mecanim is a huge feature that I’m sure could be used in a bunch of different ways if opened up. For my current project we built our own custom re-targeting system for 2D because our game depends on it, but it would be great to use something that fits into the unity animation workflow.

Keep up the good work dudes!

The next update, will suport foot replacement system like locomotion system ? I hope unity will have it.

+1 To auto Ragdolls, It’s a real pain in the ass. What’s available on the asset store isn’t pro at all…

Hi I would like to have something like mesh morpher or a FFD cage linked to the joint rotation. I’m working with a close up of the arm and it would be very useful for removing artifacts and simulate muscles, constraints etc.
Please, consider it.

Something I would really like to see is a way to maintain volume of a mesh in areas like the hips, shoulders, knees and elbows on deformation. Perhaps a primitive form of Maya muscle or bone that stops the geometry from collapsing in on itself in extreme poses. Maybe something like that exists and I just have not heard of it. :)

>> Hot swap of controllers at runtime

I hope that’s a priority. Almost impossible to swap equipment around without it (ie, gun vs. rifle, etc) — unless you want to create hideously giant state machines. Unless I’m missing something! :)

Looking forward to animation events too – would like to make footstep sounds, etc. Finger IK sounds great as well – hopefully some simple interface to make the fingers basically just grasp a handle or something.

Very impressed with Mecanim so far. Going to save me a ton of time.

That are good news! The mirror at runtime is useful…
And what about support for extra objects like guns or ball (in case of sports). I am developing a football game and if I could animate the ball and use it in mecanim would be really nice. In today’s solution I was not able to animate the ball in 3D package and have it describe its trajectory in mecanim/unity. It does not move, stays at origin (i think because the ball is not a part of the character bone hierarchy)…
Thanks! Again, it is a great framework.

@AHMAD: You will be able to specify in a State or in a Blend Tree leaf if you want a clip to be mirrored or not. So no need to create an additional clip for the mirrored version at Import. Ex: for a walk blend tree controlled by direction, you would drop WalkLeft, Walk and WalkLeft again, but with Mirror “ON” the second time. Note that you will also be able to control the Cycle Offset of the Clip. In the example above, you would Cycle Offset the mirrored Clip by 50% so that phases match for blending.

“Runtime mirror and cycle offset. In States and Blend Tree Leaves”

Can you elaborate on this one please? Does this mean clips can be mirrored at runtime without needing to create them in the import setting like the case now? (So things like Strafe Left will just be mirrored at runtime to get the right variation at no extra memory cost)

Is there an expected release date for the next version? I am especially interested in the ragdoll transitioning, as this is something I was just looking at coding up myself. If it’s coming up reasonably soon, then I may just wait and use the new systems.

Setting states and transition through an API would also be incredibly useful to me, as I could script a system to update Animators on load, instead of having to have a lot of Animators that are 90% the same, but with a few different clips.

All good… After that, since you gonna auto generate ragdolls, make sure you build next a system like Natural Motion’s Euphoria!! :)

How much is 3+10?? Damn you rocket science…

Auto Ragdolls? That sounds too good to be real…especially for a fighting game that I am working on that will require physics reaction to hits and blows… I haven’t fully tested out Mecanim, but this is definitely something I am looking forward to using for YEARS to come

Some very impressive features coming up, I see. I am though wondering, if there is any chance we’ll see any feature to ensure the fingers (humanoid rig) are on the surface at certain events, anytime soon?

Please consider API support for avatar definitions as well. That would let us do lots of fun stuff like procedural characters and rigging entirely within Unity.

Thats really all great and can’t wait. Any chance to support Asset bundles? thats the only thing that keeps us from using mechanim right now and its a shame really :/

Comments are closed.