Animation Status Update (Q4 2024)

Hello everyone,

Since my last update, I don’t really have much more I can add. We already did the big reveal on the new animation system, so there really is no way I can top that post with this one, so instead I will revert to just writing some boring old text today, though I will also group answers to some of those questions from my last post, as well as some others that I have picked up since then. So answers in no particular order:

Capabilities:
The new system is pretty huge, and while we already showed off 3D characters a lot, it will be able to take on 2D projects, as well as more simple animations, IE no State Machine required.
Yes, it will work with game objects, as they are not going away, just as easily as it will work with ECS.

However, we will have so much more to offer than we do today, such as being able to animate custom data, and build custom nodes to take on just about anything, including custom IK solutions.

UI/UX:
We are keeping things in line with what we have today, inspectors, components etc, but are adding some all-new functionality as well. I am not able to show it all off just yet, but hopefully at GDC though. We will be adding one or two new concepts to learn, but at the same time, we are making a really big effort to streamline workflows and UX, which were previously spread out and disconnected.

Graph Tooling:
The new animation system has been an excellent internal testing ground for the new graph tooling. It has come through with flying colours, this also extends to working with variables. So it is looking like it will be the future foundation of Unity’s graph tooling. Why is this important? Well for one thing having a unified UI and UX for graphs as well as the ability to create sub-graphs and write custom nodes everywhere will make it far easier to learn and manage, and be a massive productivity boost. I expect that every graph UI at Unity will eventually use it. But things like Shader Graph and VFX Graph are likely the other early candidates to be migrated to the new graph tooling architecture.

Previewing:
We should be able to preview most things, and are currently investigating about displaying VFX and particles in the preview window. One particular challenge is the fact that particles are simulated at “game time” whereas the preview can scrub. We will also be able to preview markup which is using graphs or custom scripts.

Markup:
Much like the overhaul of transitions on states, markup has much greater flexibility and should no longer fail to be called as can happen today.

Variants:
We will be supporting variants, but more to come on that at a later date.

In fact there were a bunch of questions in the comments of my last update (and likely more from this post as well) however I might not be able to answer them all just yet, but hope to do so in another quarterly post, or at another upcoming event :wink:

Some things that we don’t expect to be updated…yet:
Everything else will still work in the new system, but here are some animation specific areas we are not really touching, or minimally updating only:
Animation Window.
Timeline.
Humanoid/Avatar. This is Mecanim-specific and no longer needed with the new system, as we are replacing it with a more powerful tool to transfer motion from one character to another.

When you might get your hands on it:
We are constantly talking to many individual teams and users about the future, and it seems everyone is excited to get their hands on the new system as soon as it is ready. So naturally, they all ask when that might be.

Unfortunately, I still don’t have the answer yet. Given the size of the new system, we really do need to do a sanity check first, before any open beta. So I would expect we will work very closely with some key partners in some sort of Alpha soon, this could be as early as Q1 next year. That means maybe Q3 for an open beta?

Now, here’s the thing. Should we go with the “Experimental” tag, or maybe wait for a proper Beta build? What is the difference you might ask?

If we go with Experimental, there is a good chance we won’t be able to fix some issues (well certainly not quickly enough) for anyone who might be tempted to use it in production. Whereas when it gets to beta, we will be fixing those issues. However, a beta build needs a lot more polish before it goes out.

So my question is - what do you all prefer?

  • Experimental, with no support in production.
  • Beta, with support.

Now this brings me to a rather hot topic…

AI and Animation:
Okay, let’s be clear: the following is not about how we can use AI to auto-generate games blah blah, but rather, can we effectively add AI as another tool for you? AI is inevitable; it is going to happen whether we like it or not, so we want to do it in a way that solves real problems!

With the explosion of generative AI, some people are freaking out about AI short-cutting the creative process, putting people out of jobs, skirting ethical guidelines etc, but this is not something Unity is promoting. Unity will only consider AI solutions for animation that are 100% ethical, only trained on data Unity legally owns.

Instead AI can also be very targeted to solve specific problems. Sure there is the generative kind, such as using prompts or video and audio. But AI can also be used to help navigate docs, code, or even the application itself. There is also the automation of laborious or repetitive tasks - something I think most people can get behind.

Now, as with everyone else, Unity has been looking at how to leverage AI, and it’s the same for animation. Unity has not been standing still when it comes to that, and we already explored a number of ways in which we can use AI and ML to help animation. For instance, once known as Deep Pose, the tooling matured into Muse Animate.

We are very keen to better understand where it makes sense for Unity to stop or continue to invest in AI for animation, the problems we need to solve, and how AI can potentially augment or transform game creation, such as with Sentis.

Soooo…I have a couple of asks here:

  • Happy to hear your thoughts on how you might want to use AI for animation in the future (or not) as part of the overall game creation process - please keep things civil in the comments.
  • DM me if you want us to interview you in a more official capacity, to talk about AI animation.

We are based mainly in Montreal, so please, only DM me if you are interested in our interviewing you, AND are in the North American or Central European time zones.

It would be best if you could also give me a very quick description of who you are, and your team size (or if an individual).

The interview will likely take about an hour, and you must be comfortable signing an NDA.

It is likely we will get way more interest than we bargained for, so I apologise in advance if we can’t speak with you all. We will reach out in the new year to set things up.

Merry Christmas and Happy Holidays everyone!

Chinny
Product Manager - Animation

18 Likes

I hope that once the module’s API becomes relatively stable (not necessarily completely stable), users can be introduced to it as early as possible. As for whether certain features will have comprehensive follow-up support, I’m not too concerned about that. In the first few years when Unity released ECS, every time I just got familiar with the new ECS API, it changed again.

Additionally, I hope the Unity team can take a look back at the current Mecanim system. Compared to posts on other topics, Mecanim has the lowest official response rate, yet we still need to use Mecanim and get support for it.

I prefer experimental, the new system takes a long time to learn, and I hope to be able to use it immediately when the beta version is released.

1 Like

Thank you for your update

I think you would have to do beta eventually anyway even if there is experimental package. So for transparency I think just release what currently able to release as experimental is a great way to make equality and early feedback

Production support is not really important since we all have been used many experimental feature of unity in production at our own risk anyway. Up to each individual to take their own risk

The question I am concern is, how many and which one can be released to experiment on 6.0 or 6.1 ? Is it all independent packages or a parts of unity built in module?

  1. Experimental of course, this is not because i like not be supported, is that ecs guys DO NOT have any proper animation choice for a really really long time. (along with all other things)
  2. for serious creators, AI just throw garbage/mediocre content, if i don’t care about qualily , i can choose buying asset, or just use arbitrary ai gen out the market. i think there is no necessity for unity to do any of that (compete with DCC in general), rather than ai to accelerate unity users, unity really should consider how to use ai to accelerate your internal dev process.
5 Likes

Hello again! Thank you for the Update!!

I’d love for it to be experimental so more involvement from the community can come sooner, issues can be fixed earlier, pain points can be addressed and focused on earlier, and - most importantly, drastic changes can be made if needed.

I’m also actively interested in contributing where possible to this process. Animation has been one of the primary things I interact with in Unity in any given project I touched and I’d love to have a tool that better answers the needs of those I’ve seen struggling before.

Regarding LLM involvement, I think the best value would be in user introduction to the new tools. Solving the croft of “you probably want to implement this with a blendtree” or a “here is a starting animation graph for your locomotion with warping and turning and footlock” as opposed to any animation corrections. Being introduced to however many new nodes and graph possibilities is worthless if there is no discovery of it, and from what I see, people won’t be keen to read documentation about each node without examples or quick bindings prepared for them.

1 Like

I’d prefer it to be experimental so I can start learning it as early as possible. Based on the previous post, this seems to be a massive and entirely new animation system compared to Mecanim so I’d like to ease into it first.

Additionally, we can provide feedback during the experimental phase before the APIs are finalized. Unlike the beta phase where the system is more established and making changes is harder due to the risk of breaking existing functionality.

For the AI stuff, Muse Animate kind of still lacks quality on the generation side of things. Based on videos I found on it (latest one I found was posted 1 month ago), the generated animations are kind of wonky and require a lot of cleanup to be useable. For example the foot sliding issue. So maybe more polish on that part like applying a post process layer to fix these?

RE: Experimental vs Beta:
I would prefer experimental with no support in production. This will allow Unity to pivot some of the initial design if necessary. I hate to run into a situation like ECS where Unity can’t make breaking changes because of support.

So I think initial release should be focused testing on getting the API stable. Things like how does this animation system work in a networked environment (Server Authoritative). How does the animation system handle complex use cases. Best way to save animation data. If Unity feels confident about the initial structure then I could see a jump to Beta. Historically though, once it is released to the community they often find holes in the initial design pretty quickly.

I would like to see Unity explore a targeted closed testing from those in the community that are passionate about Animation and have time to test various aspects.

RE AI and Animation:
I think Unity has the right idea with Muse Animate. Things like generating intermediate poses based off key frames and physics/IK/FK. (ie Cascadeur).

AI Animation is rapidly changing. So it may not be worth it to invest unless Unity can put a lot of resources in to it. Still I think Unity has some advantages they could exploit such as having game engine integration. Unity could make sure of their broad support of devices on multiple platforms. You can use VR equipment, Kinect, multiple cameras angles to generate data to create animations. This could be really powerful especially if the AI model could iterate with the Physics and IK/FK constraints. If Unity could offer a way to clean these animations in engine. I think that tight workflow would be very valuable.

Personally, I’ve been exploring a lot of these options as a cost effective way to generate animations. Even if there is cleanup needed after. QuickMagicAI has been the most impressive so far as of this post but this area has been changing rapidly.

Hi Chinny, I have a question before answering about the beta or experimental features.

Will this system be released with “Unity 7” in mind? If so, this would mean that we’ll need a “Unity 7” alpha or beta, but we haven’t heard any news about a potential Unity 7 alpha yet.

From my perspective as a solo or small team developer, the Next Generation will bring significant changes to the engine. It seems impractical to maintain a supported beta if everything else will also be experimental or in beta simultaneously.

Thanks for the great update as always.

Definetely experimental. I’m already using many experimental features of unity because it takes incredibly long time to wait for it becoming production ready.

I personally really like AI based skinning deformation. Would be great to have some alternative to the old linear skinning.

I haven’t worked with Unity much this year in a professional capacity, mostly because I’ve been put on new projects at work (I work in a UX research org). However, as a tinkerer and wannabe gamedev / gametooldev, I have a preference for experimental. I have high tolerance for broken things as long as there are workarounds or ways I can fix them myself.

Even if you decide to label it as “Experimental”, be prepared that you will still receive feedback on the brokenness of it, and how upset some people are. That is just the nature of it (see breaking changes with DOTS lol). It’s not truly risk-free when just slapping the experimental label on it :smiley: . I’m sure you guys know that, but I just want to make certain y’all consider it.

Thanks for the update.

I’d prefer Beta with Support. I think having good documentation and example assets (even just for a small portion of features) is extremely important for onboarding new people.

I mean just provide a rig similar to the character controller in Pal World and you’ve covered 95% of Unity Developers needs, instead of making tens of thousands of people recreate the same rig from scratch.

Some kind of preview in the scene view is really important as well.

This is a really popular asset, and should be an included feature in the new animation system. Not saying it has to be for everything (i.e. particles). The Scene view is the canvas on which we paint and should be integrated into the process.

As for AI…

I LOVE AI. It’s an amazing creative tool that lets us create games faster. Those vocal against it seem bigger than they actually are, and those of us who like it tend to stay quiet to avoid that anger. AI should and will become a big part of development.

I think the idea should be AI as a tool that helps us meet our vision, as opposed to a creative replacement.

1 Like

Experimental like APP UI package.
You can get feedback but don’t have to commit time for support, and are allowed to make a breaking change if it makes sense based on feedback.

Beta with support.

As far as AI goes - implicit implementations of AI are generally nice. Personally I don’t want to interact with AI, there should simply be functions that use AI to perform specific tasks and it’s great when those are built in. An example would be something like Photoshop’s Auto Fill: use it on a space and they figure out how to do what you want, then its done. No stupid prompts, instructions, sassy responses, etc. Just work and do what we need.

This isn’t a substantial comment, but I just wanted to say that I’m really looking forward to the new system

I find Unity + Animancer to be an absolute joy to use when it comes to prototyping tightly integrated systems like melee combat with hit-stun and frame-data; and overall I’m excited to see how close this system can get to that in terms of DX and developer joy

As an aside, I usually use Animancer for game systems that need to be very specific and authoritative when it comes to things like frame timings and reactivity (think fighting games or souls-like combat)

With that in mind, I’d love to see a system that could also empower non-programmers to achieve a similar level of specificity, while also possibly integrating well things like Particles Effects, Sound Effects, and even ‘optional’ animation paths such as authoring a variant with hitstun and hit-pause for when the hit is successful, and a base version with no hitstun for when the character misses

That way you could author the whole experience of a ‘simple’ attack in the editor, all in a deterministic and visual way

(The ‘whole experience’ being not only animation, but also hitbox data, game specific data, windup sfx, a hit sound that may or may not play, etc)

Overall, just wanted to throw in my 2-cents and say that I’m really excited to see the momentum behind this core part of the engine!

1 Like

Now, here’s the thing. Should we go with the “Experimental” tag, or maybe wait for a proper Beta build?

Experimental. Sets the stage and it gives us an early chance to provide feedback while you have the freedom to make (breaking) change(s) as you like.
As for usage, I’ve been developing with DOTS since first it was available and also working for a long time on an ability system. It’s really important to have animations of course and right now I’ve to use GOs of course. Since that won’t hold in the future, it would be great to know how the new animation system will work, sooner than later.

3 Likes

Would love to see an integration for Cascadeur Livelink(best use of AI for animation that I’ve been able to use). Also would prefer experimental as I’m somewhat uncertain a 1.0 release can hit the ground without bugs or annoying quirks.

Something else like cloth you demoed at Unite is really something that should get more focus, cloth and characters go hand in hand and a more general purpose/easier to use solution would actually have real merit.

Would prefer Experimental so that we could provide feedback before everything is set in stone.

Just thought I’d add my thoughts. Experimental would be great, everybody is pretty excited to get their hands on it as soon as possible, and we want you (and encourage you) to be able to make breaking changes when issues are discovered.

1 Like