How can I find a specific child transform of the object in the trigger?

I have a trigger with the script below. When a player is in the trigger I would like to search through their hierarchy for a specific bone (mainHandName) and assign its transform as the variable mainHandTransform. I am using the standard 3rd person Controller for the testing, but for some reason this isn’t working. I can see when the player is in the trigger because the boolean is set to true, but the transform variable is not being assigned. Where am I going wrong?

	public string mainHandName = "Bip001 R Hand";
	public Transform mainHandTransform;
    public bool inTrigger = false;
	void OnTriggerStay(Collider other) {
    		if (other.collider.tag == "Player") {
                inTrigger = true;
    			mainHandTransform = other.transform.Find(mainHandName);

I finally worked it out! So apparently transform.Find only searches through the immediate children. Therefore in order to search through the entire bone hierarchy for a specific child/grandchild/great grandchild etc you need to first use getcomponentsinchildren and then use a foreach loop to search for the specific bone by name. I think transform.Find would be much more useful if you could actually use it for more than just the immediate child; needing to specify the entire path to get to it doesn’t make it easier than a foreach loop.