And now we're set. All Animator components use the same Animator Controller with different animations for each of our models.

But what happens when you do not override a particular state? Well, if the two models share the same skeleton, (as in, all bones have the same name), then the model that contains the override will be playing the animation of the original model. And we can actually take advantage of this and group a bunch of models together that will all use the same override. And then group a bunch of groups of models that will all use the same animator.

For example, let's say we have Humans, Elves and Dwarfs. We are lazy as can be, so, as far as the code is concerned, we want all of them to have the exact same states in their Animator Controller. So we create a single one called humanoid_animations. Our artists are equally lazy, so they create a single skeleton for all the Humans. They animate that skeleton for one model, and then use the same one when they rigged the rest of them. They do the same thing for Elves and Dwarfs. This is very convenient for us, because now, all we have to do is create only three Animator Override Controllers, one for each type of humanoid, and set them to the appropriate models. Bam! For around 30 models, we ended up having a single Animator Controller and only 3 Animator Override Controllers.