How to use multiple hitboxes when using a character controller?

I created my own controller script, 3D rigged model and now finally finished my animator blend trees for movement and I have animations ready for more complex movements but I ran into I think a big problem.

A lot of these animations like crouching make my 3D rigged model change scale/size/position so the default controller collider from the in-built component does not work well at all for a hitbox since the arms, legs and head during these animations will be way out of the hitbox of that default ollider. So I added another collider (sphere) to the players head, but still need to solve it for feet/legs/thighs and hands/forearms/shoulders, etc.

Are there any standard approaches to adding hitboxes to a character controller that only uses its default collider? Would I just add colliders to each part of the rigged model that I think is required?

I prefer to just use the built in ragdoll creator (might require extra work if not a humanoid model), and use the provided colliders from the created ragdoll as hitboxes. Never, do i use the main capsule collider as a hitbox. Additionally, i change the head from a sphere to a capsule, as the sphere really just doesnt fit or reflect right imo.

Yes but its a little bit tricky to implement.

Usually a Character Controller only uses a primitive shape for general movement (like a Capsule which is a good choice for Humanoids).

When it comes to the 3D geometry of your Mesh like the legs, arms, head, etc… the idea is to attach a collider to them, which roughly approximate their shape (using primitive shapes like Boxes, Spheres, Capsules, etc… is more optimized but can lead to visual artifacts). These colliders are not used for the general movement of your character but will allow you to do Inverse Kinematic with them. The idea is that once you have the overall valid position for you Character (so for the Capsule) you perform an inverse kinematic process to override the position of your limbs to not overlap surrounding geometry, and this must be done after you animated the character during the frame.