Не получается удалить объект Unity

Всем привет. Начал изучение Unity и столкнулся со странной для меня проблемой. Не могу удалить созданный объект методом Destroy(). Мне просто нужно очистить все поле путем удаления ячеек и повторного их создания.
Буду признателен если укажете на ошибку.
Есть объект Cell и массив этих объектов, где я вызываю Instantiate() и храню их.
Из класса Cell ничего не удалял для наглядности, а в самом моем GridController оставил только те строки, где идет взаимодействие с массивом.

public class Cell : MonoBehaviour
{
    public System.Action<Cell> onCellPressed;
    public Color _teamAColor;
    public Color _teamBColor;
    public Color _blockedColor;
    public Image _cellBackground;
    public int playerId = 0;
    public int positionX;
    public int positionY;

    public void SetId(int id)
    {
        playerId = id;
        UpdateBackgroundColor();
    }

    public void OnCellPressed()
    {
        onCellPressed.Invoke(this);
    }

    
    private void UpdateBackgroundColor()
    {
        if (playerId == 1)
        {
            _cellBackground.color = _teamAColor;
        }
        else if (playerId == 2)
        {
            _cellBackground.color = _teamBColor;
        }
        else
        {
            _cellBackground.color = _blockedColor;
        }
    }
}
public class GridController : MonoBehaviour
{
    public Cell[,] _grid;
    public Cell _cellPrefab;
    public GameObject playAgainButton;
    

    void Awake()
    {
        InitGrid();
    }

    private void InitGrid()
    {
        _grid = new Cell[_size, _size];
        for (int i = 0; i < _size; i++)
        {
            for (int j = 0; j < _size; j++)
            {
                _grid[i, j] = Instantiate(_cellPrefab, transform);
            }
        }
    }

    public void ClearGrid()
    {
        for (int i = 0; i < _size; i++)
        {
            for (int j = 0; j < _size; j++)
            {
                Destroy(_grid[i, j]);
            }
        }
    }

    public void RestartGame()
    {
        ClearGrid();
        
        // Awake();
    }
}

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

Автор решения: Максим Фисман

Вы удаляете переменную (ну точнее элемент массива) grid, типа данных Cell, а Cell - это скрипт, класс.

Косандой , которую вы сейчас имеете вы удаляете компонент с объекта. Чтобы удалить сам объект пишем:

Destroy(_grid[i, ]. gameObject)

Любая переменная, имеющая тип данных компонента хранить ссылку на объект, на котором собственно и висит скрипт, хранящийся в переменной.

→ Ссылка