новые у вас и с этим кодом создадуться, тут проблем нету.
а удалить старые. есть у вас
GameObject obj - ссылка на объект.
сохраните в классе ссылку на него (сейчас это локальная переменная в методе)
(в вашем случае это будет массив ссылок или список)
List<GameObject> objRefs = new List<GameObject>();
/////
for ()
{
//вот вы создали объект и запоминаем в список
objRefs.Add(obj);
}
/////удалить все из списка пройтись по списку
foreach(var obj in objRefs)
{
Destroy(obj );
}
objRefs.Clear(); // и почистили список
чистите старые объекты..в начале вашего метода к примеру.
еще перед удаление объекта - можете проверить его на null, чтоб не пробовать удалять старые, вдруг они у вас самоуничтожаться могут или еще какая-то логика.
Ну и так к слову..инстанциация дорогая операция, подумкйте над тем что возможно стоит создать все префабы на сцене и просто включать/выключать (может еще перемещать и настраивать) готовые уже объекты на сцене.