Unity 4.3 - Optimize Game Object on Rig

Very interesting - about 1:40:00 on the youtube video of the keynote. This looks like a skinned mesh combine, along with a texture atlas builder. Would be great if this was available at runtime. :slight_smile:

It’s neither skinned mesh combine, nor texture atlas builder.

What it is: instead of having 70 (or whatever) game object hierarchy with Transform components on each, it keeps at that “internally” (in a nicely packed arrays for performance). Since we found out that in many cases it’s not the actual skinning or animation that’s costing time - it’s just recomputing the transform matrices from the hierarchy and sending update notifications to the transform components.

So what the optimization does, is it reduces the number of game objects in your rig. This means way fewer cache misses, smaller memory consumption, ability to multi-thread skinning matrices computation, and way less transform update notifications.

Sweet!

That’s pretty awesome.

With that in mind, though, if we want to parent an external GameObject to a bone, how would we go about doing so?

It was shown in the keynote video that you can expose selected items from hierarchy back to single gameobjects.

Awesome. :smile:

Awesome! Is it callable from runtime? I currently build my characters and attach them to the bones at runtime. (and swap out pieces for equipment change).

I’m also curious about this for the same reason. Would be a great benefit for customized characters in multiplayer games.

I got so excited when I saw it in action, easily one of my favorite new features :smile: Just wanted to say great work whoever worked on that!

Given that, using this optimization, the GameObject hierarchy associated with the skeleton disappears from the hierarchy, how can we access up-to-date/animated bone transform info? Is there an alternative way to query these transforms?

I know this is a bit of a necro-post but I am curious about the optimize option also since currently I have game-objects that already have things attached (and they have scripts/fsms on them)

If I collapse them on the objects themselves as is, will all that information be preserved or would I have to set them up that way again? if I have to set them up again that’s not an issue but I’d like to know before I hit “apply” so that I can prepare what I need to prepare beforehand.