FindChild not working? (Pick up Object)

I cannot get this child of an object to become the transform weaponHandle in this code, it just makes it empty.

What this code is supposed to do is pick up a weapon and drop the one already in the hand.
It works but there is a problem with the weaponHandle, which is not being found and then becomes null.

It is using a raycast to hit the gun and then do the rest.

code:

if(Physics.Raycast(aimray, out aimhit)){
			

			if(aimhit.transform.tag == "weapon"){
				
				if(Input.GetKeyDown(KeyCode.Q)){
					    
					   
					    aimhit.transform.parent = handR;
					    aimhit.transform.position = handR.position;
					    weaponExtraHandle = aimhit.transform.FindChild("extrahandle");   					
					
						Destroy(aimhit.transform.rigidbody);
					
					    weapon01.GetComponent<Rifle>().enabled = false;
						weapon01.transform.parent = null;				
					    weapon01.AddComponent<Rigidbody>();
					
					
	                    weapon01 = aimhit.transform.gameObject;			
					    
						
					
				}

Please help.

My game WIP:
http://forum.unity3d.com/threads/200629-Omega-Void-WIP

I had to directly reference the location of the child in the

 weaponExtraHandle = aimhit.transform.Find("connectBarrelBone/barrel/handle");

I don’t see FindChild in the docs.

It’s transform.Find(“ChildObjectName”) or transform.GetChild(intIndex)