Animation Status Update (Q3 2024) Unite Announcement

Just want to clarify, do you mean will any of what we have shown appear in 6?
The answer is definitely no

1 Like

I would hope we have the option to hide it. A project option that lets me turn off/remove mechanim from the project (that should be default off with new project creations). Similar to how the Input System works.

Everything outlined in the OP just seems like the perfect animation solution. Amazing work everyone!

1 Like

I think I’m dreaming, please someone wake me up!!

Now for real, I’m so hyped that these graph tools are somewhat closer, so much time has passed but what I see here, plus the work that has been done on ShaderGraph/VFX/Behaviour package, makes me very hopeful that graphing tools will be at the core of Unity.

I really wish that when the time comes, real extensibility entry points are available to us from what the teams have learned through the different needs of all these systems.

Nice work!

3 Likes

Can you maybe tell us a little more about skeleton structures, especially in pure ECS? Is there an equivalent to “optimized hierarchies” with GameObjects?

One of the challenges I am currently facing is with regards to optimizing out entities that don’t need to be in the hierarchy, but that I still want to know about for authoring purposes. Currently, I bake optimized hierarchies by having a baking system make a temporary clone of the GameObject, mark it up with a bunch of references, and then deoptimize it to extract all the details I need. I refer to this as a “shadow hierarchy”. This works great for things that can simply be baked, like animation clips. But it doesn’t work so well for things like constraints which need to be part of the authoring experience. And I haven’t figured out a reliable way to cache that hierarchy information in the editor.

An alternative approach I’ve considered is keeping the GameObject unoptimized in authoring, and restructuring the hierarchy myself. The only problem with that is when you specify TransformUsageFlags.ManualOverride, the entities associated with the child GameObjects will no longer be parented to the manually-overridden entity. This breaks attachments.

Do you have any plans for solving issues like this? And do you have any ideas for things I can do in the meantime?

Regarding the rest of the announcement, everything else looks promising, but I would really need to see how it handles scaling and scale-inheritance in transforms as well as overall performance in true ECS before making a full opinion. The rough GameObject benchmark you gave is something I can already achieve today (and a lot more).

Oh good lord yes, my body is ready. This sounds like a dream <3

1 Like

By default the ECS version is always optimized, we do write back directly into skin matrix rather than usual roundtrip to transform and then skin matrix. There is also a system to expose transform when needed like for socket to allow you to attach props.

5 Likes

Regarding scale the new animation system support full non uniform scale. We did also some prototype and implemented Maya Scale compensate, so it will be possible to support different scale inheritance when needed.

4 Likes

So this looks very nice…for Unity as it’s Unreal Engine 4 looking like animation tools.
Ah, so it’s not in Unity 6, but in the future. So an other carrot like so many others in these past years.
Until I can actually use this tech, they are just pretty pictures and wishful thinking and I am done with wishful thinking.

1 Like

I am happy to see this type of progress, but I have no idea when it will be available to use and I am impressed it won’t be available until my game is too far into development to use. I know you can’t tell us when, but I also know you won’t even suggest a target quarter.

The other issue I have is I don’t see a baseline for these demos. What hardware was used? Console? PC? Nvidia 3k or 4k? Without knowing what was used the results, while impressive, prevents one from fully appreciating the results.

I would hope you tell us the clip of hundreds of characters with thousands of arrows was on a PS5, but you said it was in an editor. (A PS5 is a fixed known system.)

1 Like

Are there Timeline updates/overhauls coming as part of this as well? I haven’t seen any news about it, but the Timeline system needs a lot of attention imo.

1 Like

It has been my position since I played with ECS that Unity should abandon GameObject and make an equivalent that is ECS based. While this makes for a completely different paradigm, it eliminates two competing architectures in the game engine. I would love to see Unity come out with a whole new engine built from the ground up exclusively on data driven architecture. And this could be achieved behind the curtain in parallel with everything Unity does in public view.

They will be

We did our homework on this, and have learned our lessons on extensibility and meeting the needs of different systems. We hope to deliver a pretty comprehensive solution in the first iteration.

Thank you

2 Likes

I mentioned we expect to be part of a broader Unity release, so any timing will be based on that.

I have asked the main dev for his machine specs when running the 1000 knights. Pretty sure it was a PC, but don’t know more than that at the moment.

Updated: He said it was on a 3080 RTX, on a average gaming PC (but no longer has the PC or specs) running at 4k.
It was also before any optimisation effort that happened in both the World Building and Animation systems, so would not be surprised that it would run at 60fps now

2 Likes

I love the idea of the graph animator, being able to make custom nodes with scripting to basically code animation, having that be all blended into the animation system. Ah, it’s so exciting. As someone who focuses more on code and less on artist friendly interfaces, being able to combine the two is hugely powerful for me and my workflows

1 Like

At this time, we don’t expect there to be any significant updates to Timeline.

2 Likes

Fair comment, as it was kind of what the original DOTS animation system was all about. However that did not go over well at all, as the vast majority of games rely on GameObjects. So rather than starting from scratch we see there is an opportunity instead to move them closer together, so almost everyone benefits.

3 Likes

Plus, last time Unity decided to start from scratch and offer no backwards compatibility, we had the SRP split, which people didn’t seem to like and took years to get back to a stable footing. While abandoning old systems for the new ones seems like it’d be better in some ways, ultimately if Unity cares about it’s users, the focus should be on improving what Users already love about Unity and giving new tools to enhance existing use cases. Which I think is very clearly the focus going forward!

2 Likes

Cool to see the work being done here. My biggest gripe with Mechanim is that setting up simple animations (like a chest opening and closing) is too many clicks! I think the inability to set transition defaults (like, I always set turn off Exit Time, and often put transition duration to 0) is the main problem. It would be nice if there was a way to shove Animator / Animation clips automatically in a project folder so I don’t have to navigate the file browser every time I create a new Animator.

Hope this new system is fast to use, and that the flexibility doesn’t come at the cost of cumbersome UI.

1 Like

From my perspective SRP had a lack of urgency cause people could still use built-in :stuck_out_tongue:

3 Likes

Was also around the time “Growth” (the AI driven market domination scheme that pulled Unity into the business sector) started to metastasize.