Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Why must an animation clip be marked as "Legacy"?

Discussion in 'Animation' started by Rao-Dao-Zao, Jun 19, 2014.

  1. Rao-Dao-Zao


    Aug 31, 2013
    I understand how to mark my clips as Legacy, but I'm wondering why it is necessary?

    I'm using Milkshape to create my models, and exporting to FBX for use in Unity.

    When I import as Legacy, everything is fine and dandy.

    When I import as Generic, it all seems to work fine in the animation preview, but attempting to use the clips fails completely during the game, with the warning that they must be marked as Legacy.

    I understand that Legacy mode is undesirable and so should be avoided, but right now I seem to have no choice. I have searched around and can find plenty of information about how to mark things as Legacy, but not any justification for why this is a thing.

    So I would like to understand why my animations have to be Legacy, and hopefully find out how to make them... not legacy. So that when Legacy support is eventually dropped I don't lose everything and/or get locked to an out-of-date version of Unity.

    Anybody got any ideas? :)
  2. Mecanim-Dev


    Unity Technologies

    Nov 26, 2012
    We do have two different animation system in Unity: Animation component and Animator component

    Both system use a different type of animation clip.

    Animation component use legacy clip and Animator component use generic and humanoid clip.

    So if you are using a Animation component you must import all you clip with rig type set to Legacy to generate compatible clip.

    The reason why they are not compatible is because the animation curve data inside these clip have a different data representation, like for humanoid clip we do store muscle curve which are animated float value with a range of -1 to 1.

    Best regards,
    lekkii and rigidbuddy like this.