ive tried both. im going to use legacy. i have very large collection of mecanim animations, but sadly i cant use them cause of issues with mecanim. and cause i dont want to create crappy low quality game just so that i can use technology that is not ready for primetime.
in my opnion mecanim is not ready for prime time and is still an unfinished work in progress.
dont get fooled/lured into it as a result of marketing hype and nice ui
when petal hits the metal the flags come out
just try any of the mecanim samples and they all have the same issue
sadly without unity supporting events for mecanim animations it is little more than a toy
basically you end up with game that is somewhat unresponsive to input and animations that feel sluggish/laggy
all this is because the code does not dont quite know when an animation completes
legacy work just great non of the above issue exist.
and if you are worried about the same re-targeting animations to different models then you can inexpensively buy fragmotion to re-target them…
for more detail look at my recent posts in character system.
http://forum.unity3d.com/threads/143609-Character-System/page52?p=1400560&viewfull=1#post1400560
basically author has resorted to add WaitForSeconds () in his code and while i guess he could have put better falues to mask the issue its not the correct way of doing it. what should happen is when an animation completes it should cause an event. and while events can be faked it still fake and not proper solution. so mecanim needs proper events.
so keep using legacy until the finish mecanim or get it to a level of functionality equivalent or exceeding legacy…
now having beat up on mecanim as soon as they add events and give more control i’ll switch to them in a heart beat cause the ui / unity integration / conceptually so much easier. its just being crippled by such little thing. i just ant understand why its taking this long to finish up… i mean events cant be that hard. internally know when an animation is complete, just have some delegates / events defined that we can tie into, dont have it like black box with very limited functionality toy api.
perhaps someone should take a look at using reflection/instrumentation to get around limitations. of the other side is in .net and even in native unmanaged c++ it can be intercepted / directly accessed and events may even be possible to be added. im not sure the version of mono .net supports such stuff, but microsoft has added api for doing such things in their .net.