Как написать генерацию объектов в Юнити

Мне нужно заполнить игровое поле копиями объекта. Для начала я решил скопировать один объект, но он не отображается(как минимум). Я в Unity новичок и даже не представляю, как работает то, что написал. Можете объяснить, в чём проблема и как правильно это написать. '''

public GameObject cell;

void Start()
{
    List<GameObject> a = new List<GameObject>();
    a.Add(Instantiate(cell, new Vector3(cell.transform.position.x * 3, cell.transform.position.y, cell.transform.position.z), cell.transform.rotation));
    a[0].SetActive(true);
}

'''


Ответы (2 шт):

Автор решения: Pantheon
public GameObject original; // сюда в поле инспектора суёшь тот объект который хочешь клонировать
void Start(){
    GameObject klon = (GameObject)Instantiate (original); // теперь создан объект klon который полостью соответствует объекту original
}
→ Ссылка
Автор решения: IluhaRud

Я бы сделал это следующим образом, хотя лучше в таких случаях использовать пулы.

public GameObject original;
public List<GameObject> objects = new List<GameObject>();

private void Start()
{
   for (int i = 0; i < 100; i++)
       CreateObject();
}

private void CreateObject()
{
   Vector3 position = original.position;
   postion.x += objects.Count;

   GameObject go = Instantiate(original, position, original.transform.rotation);
   go.SetActive(true);
   objects.Add(go);
}

Данный код создаёт 100 объектов, со смещением в 1 метр.

→ Ссылка