Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Official Animation Status Update (Q3 2023)

Discussion in 'Animation' started by UnityChinny, Aug 24, 2023.

  1. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    During the traditionally quiet summer season, many of you have added some great comments and questions to my last update, along with some understandable uncertainty, skepticism and impatience to know more details.

    I actually started trying to build individual replies to everyone’s questions (attempting without repetition) but instead, I thought I should try and at least pull out some common threads otherwise things might get muddled.
    Then it made more sense to bundle this into another quarterly update, for wider visibility.

    I will preface this with the fact that I can’t always answer all of your specific questions, requests or complaints, but do acknowledge them, while I try to address some of the bigger questions.

    Mecanim’s status
    Mecanim is not going anywhere and we will continue to support it. But SolarianZ does point out what is at the heart of the matter for Mecanim, mainly that it does not manage complexity well. That’s because it is a bit old in software terms. The architecture was laid down around 2009 and it was first released in Unity 4.0 in 2012, for comparison Unreal was still on version 3 then. So yes, the current animation architecture, while originally flexible, is now comparatively limited, and is certainly not capable of scaling to the complexity needs of future games, or for the next 10 years as ThynkTekStudio mentions. Now, Yoraiz0r quite fairly posits that we might be able to fix Mecanim, which is something many of you might also be wondering. I am not sure how many of you know, but we still have original Mecanim architects in-house and after a serious amount of investigation, we know for certain the amount of work to rearchitect or DOTS-ify it in place, is well, FAR bigger than building on the new DOTS architecture.

    Yet another additional system?
    Yoraiz0r also highlights a common complaint that we have multiple competing systems in many areas of Unity. I agree with this, as well as with the statement “…have just one and make it the best it can actually be from all perspectives authoring, runtime, and UI…
    We thought we could eventually do this when we released DOTS animation…early. Many rightly said way too early, as it was incomplete and pretty much an all-or-nothing proposition in a pipeline. We have been a bit guilty in the past of over-promising and under-delivering, not updating quickly enough, and even abandoning solutions some are using in production - albeit usually experimental. I agree we should eventually “just have one” but we don’t want to make the same mistakes I just mentioned, knowing that managing multiple competing Unity systems, and packages in different states, across multiple Unity versions, is untenable. So…

    In an ideal world…
    There have been a couple of remarks related to my “not ideal” comment in my last post. Well, in an ideal world, I would love it if we would fix every bug and the little things, add improvements and new features to Mecanim, AND build a new animation system on DOTS, all at the same time. So, AcidArrow is partially right in that while ultimately it is not my call alone, it is certainly a collaborative matter of setting priorities and resourcing. Given this, we believe we are working on the ideal next steps to ensure the future of animation at Unity will exceed your expectations. So let’s dig into that.

    GameObjects vs ECS
    Yuchen_Chang asked about GameObjects. I did mention here that yes, you will be able to continue using GameObjects, and that we won’t force you to use ECS. However, we do expect that if you are undertaking something of considerable scale then ECS will be best suited to that scenario, while continuing to coexist with GameObjects at the same time.

    So it should really do…everything?
    We really do listen, even though some might think we are developing in a vacuum. There were a ton of valid requests, requirements and different perspectives from the last thread alone. Here are just a few.

    saskenergy touched on the need for better netcode integration.
    nickdollahz points to a very interesting video about Animation Graphs and Hierarchical State Machines, and much more
    SolarianZ has suggestions, including for graphs, markers, and flags. As well as the issues around Playables, which is really tied to Mecanim, so poses as yet another system to somehow support.
    Unification starts with a key pun on overlooked timeline features
    kvfreedom hopes we can learn from Animancer as a simple and direct way of playing animations. I completely agree this fills a need and is high on our list to review. But perhaps more importantly, is also making sure Asset Store creators have continued success with the new system.
    optimise and deram_scholzara want clarity on automated upgrading, which I honestly believe is far harder than anyone might think, and might not be possible.
    Yoraiz0r goes into great detail about Humanoid. It is popular but has not aged so well, even though we know it is widely used, it has some severe limitations, which is why we have Generic…which is yet another competing system :-(

    As a microcosm, this amply illustrates the breadth of our challenges.

    Animation is in every game, and the needs are varied and endless it seems. We recognize that there are many people and disciplines that touch animation in some form, in every game, and we know that there are common requirements that every production encounters. It is these we want to make sure are bulletproof in production. In an ideal world, we would complete everything for the first version of the new system, but we know that is probably too big an ask. However, when we do deliver, it absolutely must serve as the foundation for all productions! Be approachable for those who use it every day, and it must be easily extended on demand. Once out, it should very quickly expand to deliver on all production needs

    Challenge accepted!
    The recent feedback has been great. It has helped shine a bright light on the many broad requirements we are undertaking.
    So, now we know we can’t realistically evolve Mecanim or just have a DOTS-only solution, and that the new system must continue to work with GameObjects, and easily scale, elegantly handle sophisticated characters, and manage future complexity. It must be comprehensive and not just another competing system to juggle, one that is not half-finished, but ready for production now and for the next 10 years. It should be highly customizable, unquestionably performant, multiplayer ready, have extensive authoring and runtime capabilities, and limit the need to rely on 3rd party plugins.

    A simple summary might be, make it “fast, flexible, friendly and future-proof”
    A simple answer to what is Unity building, is “All of this”

    Needless to say, we likely won’t be able to do absolutely everything out of the gate, which won’t please everyone. But we absolutely will ensure that whatever we release, is ready for any production.

    Why not just share what we have?
    optimise reasonably asked if there was an experimental package ready. Simply put, no it is not ready. But when we do have one we will of course be extremely keen to get your feedback.

    An exercise in patience
    We are very aware that it has taken longer than we expected, and hope that you will continue to bear with us as we endeavor to prepare this significant advancement.
    I have no doubt that the questions and comments will continue, but hopefully I have given you a bit more clarity, as best I can, on the past, present and future of animation at Unity

    Chinny
    Product Manager - Animation

    PS - a bit of other news we just posted a blog about Unity 2023.3 and started a forum post
     
  2. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,106
    Hi. I would like to know when this new animation system will battle test with dots netcode internally that able to work nicely with dots netcode without any issues and animation glitches? I expect the first experimental version of new animation system will support dots netcode by default
     
    ThynkTekStudio and UnityChinny like this.
  3. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    As I mention here we don't expect it this year, but do expect it to work with netcode, hopefully without any glitches :)
     
  4. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,106
    Thanks for reply. I would like to give feedback that new animation system should able to make it able to integrate dots based game logic together with new animation in much more streamline way that developer able to create custom block to put game logic and link the node graph together with animation. So basically game logic and animation are blend nicely together
     
    UnityChinny likes this.
  5. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,482
    This is a good post, you addressed a lot of stuff and it seems you are saying the right things, I just don't think you can "promise" the one thing that I think is Unity's problem in general (and also specifically for animation stuff).
    It's only old because you (the Unity "you", not you, personally) let it. The only "major" feature the animator got along the years was being able to zoom in and out in the controller, everything else was mostly maintenance.

    And it really doesn't matter what I say (and I think I've already said a version of this, plus I probably won't be here to see the new animation stuff if / when they release so whatever), but you (this time, you personally), can't really promise that Unity will properly support and evolve this new animation system for years to come, this is a "Unity" call to make, and all I get from "Unity" these days is "wow, aren't movies and tv shows and AI so cool?".
     
    Sluggy likes this.
  6. Yoraiz0r

    Yoraiz0r

    Joined:
    Apr 26, 2015
    Posts:
    78
    Thank you for yet another quarterly update, and for acknowledging you've read our individual posts!

    I am rooting for you through the tasks ahead, and will be trying whatever comes out as soon as I see it - much as I have tried with related tools (DOTS since initial release, MPPM which I can't get enough of, and even Playables & FBX Exporter)

    In regards to Mecanim, I've recently experimented with some few things I think are easy improvements or additions (read: I've looked through the unity CS reference and also attempted reflection hackery to achieve certain behaviors). You say that evolving Mecanim cannot be done yet it will continue to be supported - is there some clear distinction for support vs evolution?

    For example, right now if you have state machine that has its layer default state in a substate, the StateMachineBehavior.OnStateMachineEnter / OnStateMachineExit don't get called as you press play. This is slightly vexing, because you cannot set a 'substate machine' as the default. For example, consider this:
    The documentation rightfully points out that the OnStateMachineEnter & Exit do not get called in the event of entering a state directly, but there is no option to begin with a state machine ruining this workflow. To solve this, the only solution at this time is to hack it with something like so

    Would this fall under support, or evolution? Alternatively, did I miss anything that allows a Mecanim state machine to begin without a default state so it can properly go through the state machine behaviors OnStateMachineEnter for its initial state?

    Similarly, Animator State inspector currently does not show the animation clip's preview, despite the fact that it does show preview for Animator State Transitions, this baffles me. It looks like it would be the most natural thing in the world to have - so I hacked it into existence. If this can't be brought as a quality of life improvement for the current Mecanim in all projects, can you please at least explain why?
    Example: Note that normal projects do not have the preview portion.


    (The 'showing animation solo' is debug information for my own usecase... because I overrode the entire animator state inspector just to get this preview window going. Not fun)

    I hope the animation team can at least address simple and intuitive changes like these please - if there is not going to be a delivery of a new, far better system, anytime soon.

    Cheers for whatever the animation team intends to put out, and for Unity 2023.3.
     
  7. Saniell

    Saniell

    Joined:
    Oct 24, 2015
    Posts:
    181
    This is an amazing goal to have but please do not fall into the same trap Input System did. I elaborated already here, but basically, don't ever build high level solutions (like motion matching if you ever will want to have that) on top of low level stuff that is not exposed to the user.
    I really hope to see multiple levels of API from low to mid to high level so one could go as deep as they want when trying to modify the system behaviour. And also keeping in mind other principles from Casey Muratori's talk on API design like less callbacks... Which unity seemed to do back in the day more than now

    So package is not ready, but hopefully it doesn't mean you can't still improve engine level APIs? Like allow to read animation curves at runtime and not as editor only API for seemingly no reason...

    Also, by not requiring ECS hopefully this means we won't need the ECS package? Cuz honestly I'm not very interested in backing workflows those guys have :rolleyes:

    All that said I'm glad to see more and more communication coming from unity devs that actually sounds reasonable, thanks for taking your time to write all of this.
     
    Yuchen_Chang, saskenergy and Yoraiz0r like this.
  8. Endlesser

    Endlesser

    Joined:
    Nov 11, 2015
    Posts:
    88
    Wow..

    Considering what happened with other tech anim systems and packages from a few years back, personally just want to pull it off, before it is too late, you know.

    ;)

    As the guy who stuck at 0.9.0-preview.6 from 30 months ago, I reckon there's no way to upgrade to what's coming next from there, even in a manual way, right?

    --edit again--
    All I'd like to say is, Dots anim 2 years ago was already there and not bad, it completed every functions and features my game required(1st person anim, 3rd person anim, body layer and IK...), in a tough way of coding though.

    --edit--
    Don't worry, I already moved on and Dots anim is always my first love : )
     
    Last edited: Aug 25, 2023
    UnityChinny and Yoraiz0r like this.
  9. SolarianZ

    SolarianZ

    Joined:
    Jun 13, 2017
    Posts:
    220
    Hi @UnityChinny ,

    I can understand that you are not able to tell everyone when the new animation system package will be publicly accessible. However, can you provide some information about the main features of the new animation system?

    I believe that people who are actually using game engines to create games may have a better understanding of animation needs than those developing the game engine itself. By sharing a list of features, you can gather feedback from users earlier on.
     
  10. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    Thanks for your insights. The "tough way of coding" is something we were told repeatedly.
    As for upgrading from 0.9.0-preview.6, no, that won't be possible, sorry.
     
  11. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    We can't talk about a feature list just yet, sorry about that, but we will share more when we can.

    It is a fair comment regarding the difference between game engine makers, and game makers, however we do have a lot of game production experience on the team, and as I mentioned here we are not building this in a vacuum.
     
  12. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    The package is not finished, nor are the APIs, so they will continue to evolve ;)

    As for the ECS package, I am pretty sure that will just be required to be installed at least :)
     
  13. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    Thanks for taking the time to highlight this.

    In terms of evolving Mecanim, we are always focusing first on fixing crashes, blockers and regressions etc, at the same to time we do review every issue and request that is logged. I can't speak to your particular case, but if it ends up on our system then I will review it with the team.

    Note - There is no clear distinction on what we will address, but if there are workarounds or "hacks" then we probably won't address it. Whereas simple changes and improvements or updating the API might make it in, as we make a determination on a case by case basis, as every request is different.
     
    Yoraiz0r likes this.
  14. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    Firstly, just for animation, the breadth of requirements is vast as I pointed out. So this vastness is amplified for the entire engine. I believe Unity has made amazing tools and services available over the years, which should be considered a success.

    However, sure we have made some mistakes, and this is honestly pretty unavoidable when making software on this scale
    But we (the company) have always had the best intentions and best interests of our users at heart, including trying to be as transparent as possible when we can be. This meant that sometimes we were not able to deliver on our promises, which sucks for everyone.

    Secondly, yeah this talks to the skepticism bit I mentioned, and you are right, I (personally) can't really promise something that far into the future, but we (the company) want to continue aiming for success and learn from our past mistakes whenever we can.

    Lastly, Unity is used by customers in many other industries outside of games, and there are other emerging technologies which which perhaps get over-hyped, so sometimes might seem we are not focused on games, but this could not be further from the truth.
     
    Yoraiz0r likes this.
  15. Saniell

    Saniell

    Joined:
    Oct 24, 2015
    Posts:
    181
    :(
    I've heard that ECS increases domain reload times by a lot and slows down editor as a whole. Was kinda hoping new animation system to be somewhat similar to ECS physics which doesn't actually care for ECS and one could hook it even to GameObjects (which still needs ECS package but you get the gist)

    But in case I'm wrong about ECS package overhead then all good as long as noone forces conversion workflows
     
    UnityChinny likes this.
  16. EWimsett

    EWimsett

    Joined:
    Feb 16, 2017
    Posts:
    11
    Generally as someone brand new to the current animation system, it seems tilted towards 3d and characters. I would love some creative flexibility, something like an animation synthesiser where math expressions can easily be blended with keyframes with little additional code. Running multiple states on a single graph to keep track of signal flow. Blend tree assets...one can dream.
     
    Last edited: Aug 29, 2023
    UnityChinny likes this.
  17. bobadi

    bobadi

    Joined:
    Jan 3, 2019
    Posts:
    643
    this isn't going to be released as some animation helper tool?
     
  18. Ofx360

    Ofx360

    Joined:
    Apr 30, 2013
    Posts:
    155
    The worst part about all this is that all of the every-day animation systems are in complete stasis while this is being developed. So the sheer lack of any info on how things are progressing or even a vague timeline is just increasingly frustrating.

    Definitely want to say good luck, though! This is a big undertaking for sure, I just wish there was more communication than a once a quarter "we hear you" post.
     
  19. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,482
    Just use Cascadeur.
     
    JesOb likes this.
  20. bobadi

    bobadi

    Joined:
    Jan 3, 2019
    Posts:
    643
    okay, but unity's one is different. it has physical collisions implemented, already inside unity, so...
    might be used as animator post-process...
     
  21. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,482
    ?? Does the video show Unity at any point at all?
     
  22. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    Florent mentions in the video that this is not a product, but just research into ML and AI for characters.
    Unity does invest in exploring how to solve many technical challenges. The video highlights how we might one day approach authoring animation using less traditional methods. I believe it shows a lot of promise, and am excited to see where it might go.
     
  23. XJDHDR

    XJDHDR

    Joined:
    Mar 31, 2020
    Posts:
    22
    I have a question which I don't think I've seen answered previously. What are Unity's plans for allowing the new animation system to create new animations from scratch during runtime? For the current animation system, you can only use the SetCurve method at runtime if the AnimationClip is legacy. Otherwise, you have to do this in the editor.
     
  24. Jack_Martison

    Jack_Martison

    Joined:
    Jun 24, 2018
    Posts:
    133
    I'm a simple guy, I just want the animation preview window could remember camera position when switching to the next animation.
     
  25. EWimsett

    EWimsett

    Joined:
    Feb 16, 2017
    Posts:
    11
    Y'all have probably considered this, but an easy way to reference other StateMachineBehaviour scripts within the same state would be nice. Thanks.
     
  26. Onworlds

    Onworlds

    Joined:
    Feb 19, 2015
    Posts:
    7
    Our requirements are very simple:

    It must operate extremely fast.
    It should have deterministic behavior.
    It should have a concise and easy-to-learn API.

    The game engine is intended for use by "all" users, and It should not rely on incomplete technologies.
    (The Research and Development phase should be kept separate from the game engine development process.)

    We prefer a straightforward and unassuming API.

    Please release it as soon as possible, or else it will be eliminated from consideration for the next engine selection.

    We appreciate Unity. However, several issues have arisen. The setbacks with the ECS approach, delays in the development of the Animation package, and concerns about the 'Runtime Fee' have made us reconsider. As a result, we are now exploring alternatives for our next game engine.
     
  27. kite3h

    kite3h

    Joined:
    Aug 27, 2012
    Posts:
    192
    Currently, Unity mecanime cannot do phase control.

    This is because transition is not possible according to the parameter in the middle part of the Clip.
    We want to achieve different blending when the left foot is in front and when the right foot is in front, but that currently requires creating a separate state.
    So, if inertial blending like Unreal is implemented, mecanime becomes much easier to use.

    I know you guys created inertial blending in the DOTS Animation package.
    Why not apply it to mecanime. That may not be a very difficult task.
     
  28. PaulMDev

    PaulMDev

    Joined:
    Feb 19, 2019
    Posts:
    69
    Actually I prefer something powerful, robust and flexible than something easy to learn.
    Yes it will be faster to get started, but very often the architecture will become inadequate when working on a big project, especially late in development.
    Maybe they can find a compromise between the two, but I think it's unlikely.
     
    tatoforever and ThynkTekStudio like this.
  29. 00christian00

    00christian00

    Joined:
    Jul 22, 2012
    Posts:
    1,035
    @UnityChinny
    Thanks for the update, have been out of the forum for some time.
    I like the way Animancer handle the animation, it's simple but scalable at the same time. I guess you have already looked at it.
    One thing I would like to point out, Unity has a bad habit of releasing systems as a black box and only later expose low level access to them one little droplet at the time. This is completely backward because it mean whatever limit there is in the system you are either stuck with it or have to find workaround.
    Can you for once release whatever you are working on, with the low level API open from the beginning?
    Then you can build on top of them and make the system grow with time, but please don't release another black box.

    Another thing, are you rewriting the humanoid system with the new animation system or that will stay? That seem have been forgotten for years, or am I wrong?
    I didn't see any new feature on humanoid system since the beginning.
     
    SolarianZ and bobadi like this.
  30. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,132
    Copied from another thread because I am not sure where this question should belong

    I wonder if it would be possible to remove humanoid system from unity core, and transfer all functionality into Animation.Rigging package, and then making the humanoid rigging system utilize the Animation.Rigging instead of separate system?

    Maybe not removing but instead add another import option, `Humanoid with Animation.Rigging` or something similar. And make it the new humanoid system that supersede the legacy humanoid, setting up the rig builder and system for the common humanoid body. And make it more flexible, allow it to work with semi humanoid such as snake body

    And so it might make Humanoid and Animation.Rigging system become seamless

    Is it possible?
     
  31. SolarianZ

    SolarianZ

    Joined:
    Jun 13, 2017
    Posts:
    220
    In the past year , I have submitted over a dozen bug reports related to Animation Playables . Some of these bug reports were marked as " Closed as won ' t fix ," while the rest have remained unresolved . Tonight , I suddenly received a series of emails , marking all the remaining bug reports as " Closed as won ' t fix ." This makes me wonder if Unity still has any energy left to maintain Mecanim.
    upload_2023-10-2_23-17-20.png
     
    Thaina and Unifikation like this.
  32. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,482
    https://issuetracker.unity3d.com/is...e-manual-blend-curves-in-the-inspector-window

    Even if your upcoming animation tools are excellent (and given Unity’s track record…), it doesn't matter, because if I have an issue with your new tools (although let's be frank, by the time those are released in... say 2026, I won't be here), I know you won't fix it, because you have clearly shown, again and again your complete disregard and contempt for your users.
     
    Last edited: Oct 3, 2023
  33. Chrisad

    Chrisad

    Joined:
    Mar 12, 2013
    Posts:
    55
    I also personally do not agree on not fixing the current bugs left with Mecanim. Your new system won't come before a year if I understand, and this if you do not have any delays. No existing live projects will jump to your new solution, and even new projects won't do it until the tool is production ready, which will again take additional years with you current past records. On top of that, Asset store devs will need to upgrade their tools too. In all scenarios you will get a low retention on the system for years after release (just look at URP/HDRP). So not fixing the current bugs is the same as saying "Mecanim will be unstable starting now", in my opinion.

    The minimum should be to fix all the current remaining bugs before starting a new system. We should not have to deal with any "won't fix" bugs until the new system is out. You cannot make us wait, our games need to be released right now!

    I suppose Mecanim is made in C++, but did you take in account the possibility to port it to C# and release it as a package ? At least, people would be able to maintain it or upgrade it.

    Also, will you have an auto-upgrade tool, day one, that allow developers to convert all mecanims animations to the new system ? If not,we can be sure that the new system is doomed to failure.
     
    Partel-Lang likes this.
  34. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,106
    Hi. Are official planning to announce this new animation experimental release date at Unite 2023? Is that official plan to release it at next year around the time that Unity 2023.3 reach beta stage or out of beta?
     
  35. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,132
    Oh wait a minute.

    I just see you mention Animation.Rigging package in the post too. Does it mean this package would also be deprecated? Even it just being released?

    Please be more clarified about this though. It seem like this new system is very destructive in nature. As hazardous as breaking change. Everything currently revolving around animation system would be totally deprecated as far as I can see. And this new system are not even being shown how it look like and current state of it

    Please release experimental package for it already, or is it would be integrate to the core of unity?
     
  36. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,263
    So, @UnityChinny, when everyone at Unity these days are talking about "rebuilding trust", you have to understand that the pricing debacle was only one out of very many places where we have lost trust in Unity.

    Due to Unity abandoning software in a half-finished state to make new shiny things time and time again, we have also lost trust in Unity being able to a) build new things that work and b) fix things that doesn't work.

    I don't know what you're doing internally, but whatever team lead that's maintaining this whole "let's not show off anything yet" approach needs to get replaced by someone that has the users and Unity's needs at heart. I don't know if it's you personally, or somebody above you, or a team effort, but whoever is at fault is making the current lack of trust in Unity's ability to do anything right worse, due to forcing us to live with bugs that could be fixed, and letting the reason why those bugs are not being fixed remain hidden.
     
    slippyfrog, Chrisad, rawna and 4 others like this.
  37. Arithmetica

    Arithmetica

    Joined:
    Feb 11, 2019
    Posts:
    38
    https://issuetracker.unity3d.com/is...o-nan-when-calculating-using-animators-footik
    I have been notified that the bug report I submitted will not be fixed.
    This bug by itself will only cause that character to be drawn incorrectly, but if the bones have a physics component set, the physics system will immediately throw an exception and the game will stop.
    And this bug is not caused by my personal data or code, but by the Third-Person sample you have provided.
    I am very surprised that you guys decided not to fix this bug.
     
  38. John_Leorid

    John_Leorid

    Joined:
    Nov 5, 2012
    Posts:
    642
    What is animation (in Games)?

    It's actually quite simple. Blending between keyframes (by using certain easing functions) and setting values.
    That's the most low level thing that has to work.

    Then there's the import of animations. A thing that needs great improvements - fiddling in the FBX inspector is a massive pain.

    Then there's humanoid animation and mesh skinning. That works currently quite nice but is super slow.

    And then there's the thing everyone here seems to talk about - the Animator Window to setup Statemachines.
    The only reason for this is to blend between different animations and adjust settings per AnimatorController (the asset that holds the data setup in the Animator Window).
    This data is then linked using an Animator-Component, which provides some API to Play Animations and Read them.


    Broken down like this, it isn't even that complicated.
    We definitely need better imports which lead to data that we can adjust outside of the import-window (which we can maipulate without reimporting the whole FBX).

    Also we need a better, more relyable API -> replacement/extension of the Animator-Component.

    And the Animation Editor Window also is quite a mess and I think a lot of games could do fine without even using it.


    What I don't quite understand ... why can't you just alter the backend of the Animator-Component? It's a C# class calling things on the AnimatorControllerAsset which then calls the PlayablesAPI which then calls C++ Engine Code.

    All you 'd have to do to upgrade the current system with a new backend is to add new methods to the Animator-Component and create a new Animator-Editor-Window.

    And whatever you do, don't connect things too deeply in the future. GraphToolFoundation GTF was a mess, last time I looked at it. It used interfaces everywhere just to ignore them and casting to specific types a few lines below. As someone who cares about code, I almost got a heart attack looking at the preview we got there. Same with the addressables and some other packages I had to look through.
     
    Saniell likes this.
  39. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,569
    This.

    A considerable number of new systems created by Unity over the past decade have been released in a disappointing state and require a significantly longer time to become usable than advertised.

    In reality, when aiming for a 2024 release, it is likely that it will only be usable for production several years later. I don't mean to be harsh, but I am basing this on my observations of other Unity system releases.

    Therefore, I kindly request that you allocate a few months to addressing and resolving more issues with Mecanim, as well as implementing low-hanging-fruit features and improvements, before transitioning it into maintenance mode. A Mecanim Task Force to improve it in very short time.

    Doing so will provide immediate benefits to us. The new animation system, on the other hand, will benefit us in several years from now.
     
  40. Saniell

    Saniell

    Joined:
    Oct 24, 2015
    Posts:
    181
    That's not to mention closing existing bugs to rot is not maintenance, that's basically abandoning the only animation system all together.
    Unless new animation system will release next month and will be 100% feature complete without any issues, at this point it may be better to cancel new system instead and just make Mecanim better : P
     
    Peter77 likes this.
  41. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,540
  42. Partel-Lang

    Partel-Lang

    Joined:
    Jan 2, 2013
    Posts:
    2,540
    Mecanim has been de facto abandoned for many years now with all hands on deck trying to figure out the DOTS mess that’s supposed to be 1.0 since last year, but it still takes a 30 minute tutorial to get a damn hello cube spinning in place so I wouldn’t hold my breath expecting a usable animation system any time soon
     
    tatoforever and JesOb like this.
  43. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,106
    Hi @UnityChinny. Is the experimental package release date has been finalized internally? Really hope to see it available at Unity 2023.3 cycle next year asap like January 2024.
     
  44. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    Thanks to everyone for the feedback, as always.

    Mecanim started around 2009
    Mecanim has served production needs for over 10 years already, however we all know the architecture simply will not scale for production demands for the next 10 years, which is the main reason we started working on a new system.

    Which bugs are getting fixed?
    As I have highlighted here - we will continue to maintain Mecanim and continue to fix bugs, mainly crashes, blockers, regressions etc. However it is really unrealistic to fix every issue that is logged for such a mature system which serves so many varied demands. As part of this, we recently closed a bunch, which is why some of you got multiple updates in one go.
    Does it mean we are abandoning Mecanim? No, it means we are going to keep it productive, while trying to deliver the new system as fast as possible.

    Quarterly status updates
    Since joining Unity I have attempted to be as transparent as I can, in order to keep you all informed so you may plan accordingly, instead of saying nothing at all, which invites wild speculation.

    Answers to some other questions in this thread
    I can’t answer all specific feature/workflow questions asked, but will answer what I can.
    Yeah we are looking into this ECS overhead

    Humanoid is very popular, but also very limited which is why we have generic. So we are looking at somehow combining the two.

    It is not possible to remove Humanoid system from Unity core. But we do want any new system to be flexible.
    You also asked about releasing an experimental package already. As I mentioned previously, the plan is that as soon as one is properly ready to be tested, it will be released.

    Not sure if you are referring to me personally or Unity. Either way, I think your statement is overly harsh.

    I don’t have that visibility, but will say I do not expect our announcing animation next month.

    This is a very fair comment, and I do talk about this at the top as our over-promising and under-delivering, so we are keenly aware of it. Maybe under-promise and over-deliver? But that might be swinging too far in the opposite direction, it is a tricky balance, and has already taken much longer than we expected - which we are very aware of. There is no quick fix to this problem unfortunately.

    Similar to Baste’s post above, this is definitely something we do NOT want to be the case for the new animation system

    Chinny
     
  45. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,106
    :eek: I think official start working on new animation system too late. The work should start during Unity 5.

    Any plan to have announcement at Unite 2023?
     
  46. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    Ah, that is what I meant when I said next month, I should have said "next month at Unite"
     
    optimise likes this.
  47. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,132
    Thank you for your response here

    But first thing first, your answer was not touch the main concern

    What I concern is, would the
    new animation
    you talking about be a new system? A new package? A new paradigm?

    Would it integrated into the core of unity? As an extension? Or being the completely new way to do animation?

    Would it be a breaking change? Will it work with humanoid system? Is it expand the functionality of humanoid system or rework it? (I have a same concern to mecanim but be as it seem it was being replacement of mecanim, which I think many people don't have much to say on that)

    And will it apply to current tech stream or is it will got into next year version of unity only? And how the old system will be maintain for the project in older version?

    One thing I have in mind for such time. Could you (unity) please opensource some functionality, at least for the old version of unity and especially the deprecated functionality? As you can see the old animation system (and many system) was marked as won't fix even people still rely on those feature. If you opensource some of them we then could try to fix it where it possibly could

    Your decision on
    crashes, blockers, regressions
    are not always align with us as you can see many people are always complain about it
     
  48. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,132
    @UnityChinny Also you are not even touch anything about
    Animation.Rigging
    package I have been asking. I am currently doing something related to it and I don't want to put my effort on something that soon would be deprecated. I beg you please be more clarified on this
     
  49. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,106
    From what I know this new animation system support both game object and dots. For game object user, is that only entities core package is required? If yes, that means the rendering part is still using game object mesh renderer.

    Official has the issue of keep shipping half finish product that always not working really well and buggy. Basically unusable for serious production. One of it I think is new Input system that until now it's still buggy that can't support mobile input properly like Android yet. But now official seems like become scare to deliver any new product and become never ship any new product which become even worst like dots utility AI solution I asked for years but never see any experimental package available to public yet
     
  50. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    64
    The Animation Rigging package will be around for the same amount of time as Mecanim, and Mecanim will be around for many years to come.