Adding a component of object to an array

Hi guys,

I want to add a specific component of the object to an array while I am spawning that object.

So I have this code for spawning, adding the component to an array, and other stuff. So, the array is in a other script named “gameManager”, and the array’s name is “mutants”, in this update method I am spawning mutant and then adding them to the array, so my archers can select a target from the array. and I need to put Mutant behavior component to array because mutant behavior script have the health and other stuff.

Right now my archers are hitting only one enemy, then they stop. i need

` void Update()
{ if (gameManager.gameState == “RUNNING”)
{
timer += Time.deltaTime;
if (timer > delay)
{

            timer = 0;
           
            if (numMutants < numMaxMutants)
            {
                for (int x = 0; x <= numToSpawn; x++)
                {
                    // instantiate a mutant prefab at some random point within 10 units in the X, and Z axis'
                    Vector3 spawnPoisition = gameObject.transform.position;
                    spawnPoisition.x += Random.Range(0.0f, 10.0f);
                    spawnPoisition.z += Random.Range(0.0f, 10.0f);

                    Instantiate(mutant, spawnPoisition, Quaternion.identity);

                    // increment numMutants here and on the game manager
                    numMutants++;
                    gameManager.numMutants++;

                    // add the mutantbehavior object (component on the mutant game object)  to the arraylist of mutants on the game manager
                
                    gameManager.mutants.Insert(numMutants - 1, GameObject.FindGameObjectWithTag("Enemy").GetComponent<MutantBehavior>());
                        
                    // set "Invaders on the field' bool on game manager to true;
                    gameManager.invadersOnField = true;
                
                }
            }
        }
    }
    
}

}
`

FindGameObjectWithTag is going to find the first “Enemy” you placed in the scene. Try instead GameObject mutantInst = Instantiate(...); and then gameManager.mutants.Add(mutantInst.GetComponent<MutantBehavior>());