I am trying to destroy all clones of object...

I’ve tried with “foreach”, but i get errors like “Perphaps, wrong unkown operator” ( or something like this ) and " conversion of type UnityEngine.GameObject to UnityEngine.Object is impossible"

The object name is “Wally”, when it has clones - “Wally(Clone)”, so i guess i used the right tag? actually, do i need to suggest a tag or no ( and how if i need to )? because i didn’t.

I also tried to use this instead of “foreach”

“for (int i = 0; i < 70; i++)”

With adding to Wally: “Destroy (Wally*);”*
But nothing happens.
Can someone tell me the right way to do what i need? With “foreach” or with “for (int i = 0; i < 70; i++)”, doesn’t matter
public class Reset : MonoBehaviour {

private GameObject[] Wally;
private Vector3 initialPosition;
private float distance = 0.5f;

void Start () {
initialPosition = transform.position;
}

void Update () {
transform.Translate(Vector3.zero * Time.deltaTime);

if( Vector3.Distance(transform.position, Vector3.zero) < distance)
{
transform.position = initialPosition;
var Wally = GameObject.FindGameObjectsWithTag(“Wally(Clone)”);
{
Destroy (Wally[5]);
}

}

}

}
void Start () {
for (int i = 0; i < numberOfObjects; i++) {
float angle = i * Mathf.PI * 2 / numberOfObjects;
Vector3 pos = new Vector3 (Mathf.Cos (angle), 0, Mathf.Sin (angle)) * radius;
GameObject Wally = Instantiate (prefab, pos, Quaternion.LookRotation(-pos)) as GameObject;
Wally.transform.parent = transform;
Wally.AddComponent();
}
}

Best way is to add tag to the prefab for instance “Wally”. Than you search items by tag,

 var Wally = GameObject.FindGameObjectsWithTag("Wally");

foreach(var item : GameObject in Wally)
{
Destroy(item);
}

BTW when you instantiate prefab, Wally(Clone) is the name of it, not the tag.

A Tag is a word which you link to one or more GameObjects. The One you used or see in hierarchy is GAMEOBJECT NAME not the TAG.

To set the Tag of a gameObject/prefab . Click on it and check the inspector you will see tag.

var Wally = GameObject.FindGameObjectsWithTag("Wally(Clone)");

this doesn’t work because Wally(Clone) is gameobjects Name not the tag.

I would add to the accepted answer that you need to add a tag “Wally” to the Instantiated GameObject reference:

GameObject go = Instantiate(blah,blah,blah);
go.tag = "Wally";

Then it will work.