Animator.Play() using normalizedTime not working with sub layers ?

Hello,

It’s a multiplayer game, if a player reconnects while an animation is playing, I am sending him the current animation normalizedTime so he can keep up with the others. Using an Action/event, 2 animators are triggered.

1st animator is an environment one :

        _animator.Play("Base Layer.EndGameTriggered", 0, animStartTime);

Works perfectly. uses Base Layer.

This is the “_animator” Animator Controller :

And the “Transitions” :

2nd animator is on the players :

        PlayerAnimator.Play("EndGame.DeathFromStrike", 0, animStartTime);

Not working. animation never starts even if animStartTime = 0. Animator stays in the “IDLE” state.

This is the “PlayerAnimator” Animator Controller :

And the “Transitions” (which are not really used anymore since I’m using Play(…)) :


(I tried removing the transition to IDLE, not working)

Base Layer IS a blend tree.

What am I doing wrong ? is the Play() with normalizedTime never working on sub-layers ? Script with Action/event should be good, everything worked when using animator.SetTrigger(“…”); (but I can’t set the time with settrigger.)

Thanks in advance !

using Unity 2020.3.15f2

I’m dumb, I just copy/pasted the doc example, which has the layer = 0 without explaining what it does in the coms, I just changed 0 to -1

PlayerAnimator.Play("EndGame.DeathFromStrike", -1, animStartTime);

Or I could have put “6” instead of “-1” in my case, but whatever. It works now !