Search Issue Tracker

Fixed in 2019.3.X



Found in







Issue ID




AnimatorStateInfo.normalizedTime returns the total play time of animation state when Normalized Value is set to Parameter



How to reproduce:
1. Open the attached project ("case_1156287")
2. Enter Play Mode

Expected result: Console prints ("Normalized time: 0.0")
Actual result: Normalized time is equal to the time the state is playing

Reproducible with: 2017.4.27f1, 2018.4.1f1, 2019.1.4f1, 2019.2.0b4, 2019.3.0a4

  1. Resolution Note (fix version 2019.3):

    This is the expected behaviour, but there is a confusion because the AnimatorStateInfo's normalized time refers to the internal time in the state machine (useful to make transitions) while the AnimatorStateEditor's normalized time refers to the time at which the motion is evaluated. I changed the Editor's string to "Motion Time" to better convey that tey are two different times and that getting different values is normal. I also updated the Manual accordingly (pending review).
    Fixed in 2019.3.0a8

Comments (32)

  1. unity_K99WJS2TxGpRtA

    Jun 30, 2020 15:48

    Very useful post. This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. Really its great article. Keep it up.

  2. Byvar

    Jul 24, 2019 15:05

    If this is the expected behavior, is it possible to expose a property for motionTime as well then?

    For our project, we need the time when the motion is evaluated rather than the time the animation has been playing... there is currently no way to see this in Unity, which means that other animation systems that integrate with Mecanim cannot support this parameter-driven Motion Time. Thank you in advance.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.