prevLayer < state->GetLayer() printed when playing an animation

I've got this same warning (error?) printing three times whenever I play my "lhand-" animations. This behavior started after I started setting my animation layers accordingly in a component's Start() function:

    var theHandLayer : int = 1;

for( var theAnim : AnimationState in playerAnim )
    if( "lhand-" ) )
        theAnim.layer = theHandLayer;
        theAnim.blendMode = AnimationBlendMode.Blend;
        theAnim.AddMixingTransform( theLHandTransform );

This doesn't print if I set that layer to be 0, but that's understandably not too useful to me. What's the deal? My animation plays exactly as I'd expect it to, and I play it from within an update whenever I detect a fire-key-down. Is there somewhere else I'm supposed to be triggering animations (especially ones for higher layers) from?

I think it's a bug on Unity side (it sounds like internal assert). Can you make a mini repro project and submit a bug? It would be nice if you could post case number here too.


I found and fixed the problem.

You actually shouldn't disregard the assert - if you get the assert it means it might result in incorrect blending. You can avoid the assert by switching the order of these lines (just set layer after applying mixing transform), i.e. you should do this

aaa.AddMixingTransform( attackMixingTransform );
aaa.layer = 1;