What does the ‘Optimize Game Objects’ option do to models?

I have a model with a face gameobject and a body gameobject, and both of them have a Skinned Mesh Renderer component.
In ‘Optimize Game Objects’ mode I can replace the face mesh with another face mesh in its Skinned Mesh Renderer, and replace body mesh with another body mesh in its Skinned Mesh Renderer too. They all look good.
But with the ‘Optimize Game Objects’ option disabled on this model, when I replace the face mesh with the same other face mesh it still looks fine, but as soon as I change the body mesh like what I did exactly in ‘Optimize Game Objects’ mode, it looks super weird. Here’s what I get.


I wanna know what does the ‘Optimize Game Objects’ option do to models that causes this problem. I only know that when the ‘Optimize Game Objects’ option is checked your model hierarchy will be flattened and the mesh will no longer be controlled by the bones you exposed. But I didn’t know this option will cause such a problem.

Any help will be much appreciated!

Bump. Having the same issue, no clue why

Optimize Game Objects allows Unity to manage the model’s bones internally instead of creating an actual Game Object in the scene for each of them, so it prevents you from doing things like parenting a weapon to follow a hand (unless you exclude that bone) but in exchange it is more efficient.

The issue with swapping the mesh sounds like a bug though, which you can report via the Help menu.

2 Likes

I like the idea however is there a way to make not flatten the hierarchy?
I guess that’s also ‘better optimized’ (less cascading transforms) but I kinda have a problem with that when the hierarchy itself happens to be important