[Newbie] Need some help with animation problem

So I’m still trying to understand animation.

Currently I have an Empty Game Object called Player. I have the actual humanoid player model as a child of Player. Player has the Animator Controller which obviously animates the child model.
The animation is a simple Idle animation.

When I place the Player game object in the scene before and during run-time, the model is animated.

However, if I try to swap out the model with a different humanoid model during run-time, no animation plays. How do I get the animation controller to now animate the newly spawned model within Player?

I’ve tried enabling the Animator. Tried setting a trigger. Tried calling .Play to play the Idle state name. Tried setting Root motion on/off as that seemed to do it if I clicked on it manually during run-time.
I must be missing something obvious but any help would be greatly appreciated.

Just to put into concept of what i’m trying to achieve. I’m trying to create a very basic character creator where I have the Player game object already in game and the player can choose male or female. Destroying the model within the Player and instantiating the new chosen model within Player.

Generally you would just have the Animator on the model so each one has its own.

Calling animator.Rebind may do it, but probably not.