Как удалить префаб со сцены чтобы его можно было дальше использовать? Unity 3D

Есть массив, в котором есть 4 префаба объекта. Скрипт должен работать так, чтобы после их появления через Instantiate в рандомных местах они удалялись через 2 секунды, НО они должны просто пропасть со сцены, а если удалять их через Destroy() то они пропадают навсегда и заспавнить их повторно не получается.

Как удалить префаб со сцены и чтобы его можно было заспавнить снова?

obj[i] = Instantiate(obj[i], new Vector3(randX, 0, randY), Quaternion.identity);
Destroy(obj[i], 2);

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

Автор решения: aepot

заспавненный объект != префаб, перезаписывая ссылку на префаб, вы его просто теряете, не теряйте ссылку и вопрос решится.

// 1
var sceneObject = Instantiate(obj[i], new Vector3(randX, 0, randY), Quaternion.identity);
Destroy(sceneObject, 2);
// 2
sceneObject = Instantiate(obj[i], new Vector3(randX, 0, randY), Quaternion.identity);
Destroy(sceneObject, 2);
→ Ссылка