Code wont work in another script

I have characters with spheres which I instantiate in one script;

    fighter1 = (GameObject)Instantiate(Resources.Load("My Prefabs/Anna"), spawn1.transform.position, spawn1.transform.rotation) as GameObject;
            fighter2 = (GameObject)Instantiate(Resources.Load("My Prefabs/Eusebio"), spawn2.transform.position, spawn2.transform.rotation) as GameObject;
            fighter1.tag = "Fighter1";
            fighter2.tag = "Fighter2";
    
      weaponSphere1 = GameObject.FindGameObjectWithTag("WeaponSphere1");
            bodSphere2 = GameObject.FindGameObjectWithTag("bodSphere2");

And I need to check collision in another script

     public CharacterSpawner charSpawn;
        GameObject weaponSphere1, bodSphere2;
    
     void Start()
        {
            weaponSphere1 = charSpawn.weaponSphere1;
            bodSphere2 = charSpawn.bodSphere2;
        }
    
        void Update()
        {
            collCheck();
        }
    
        void collCheck()
        {
            {
            if (weaponSphere1.renderer.bounds.Intersects(bodSphere2.renderer.bounds))
            {
                Debug.Log("Hit");
            }
           
        }

This gives me an UnassignedReferenceException.

How do I correct this? I was originally generating the spheres in a script, but that threw up similar problems.

I would say in line 6 and 7 of script one no objects are being found with those tags.

I’d say you need to pass the contents of the objects to the other script

http://docs.unity3d.com/Documentation/ScriptReference/Component.GetComponent.html

http://docs.unity3d.com/Documentation/ScriptReference/GameObject.GetComponent.html