I Cannot Access A Component From A Child Of An Object

I am currently unable to access a component I need to access. I want to get a float from the child (which is a gameobject) of an object.

public AudioSource pickup;
private GameObject pickingPlayer;
private GameObject weapon;

void OnCollisionEnter(Collision col)
    if (col.gameObject.tag == "Player")
        pickingPlayer = col.gameObject;
        GeneralPlayerScript pickupPlay = pickingPlayer.GetComponent<GeneralPlayerScript>();
        |ERROR HERE| = pickingPlayer.transform.Find("FishgrainBLOCKGun").gameObject;

        FishGunFire FishGunFireScript = weapon.GetComponent<FishGunFire>();
        FishGunFireScript.Ammo = FishGunFireScript.Ammo + 15;

        if (pickupPlay.activeWeapon == 1)
            FishGunFireScript.ammoText.text = FishGunFireScript.Ammo.ToString();


Good day.

Is FishgrainBLOCKGun a direct child of pickingPlayer ? or a grand child?

Is FishgrainBLOCKGun active in the hicheracy when is defined?


The functions transform.find, only looks for direct childs (not grandchilds) that are active at that moment.