Скрипт кнопки Restart работает некорректно. Unity

Есть button, на котором висит пустой объект, а на объекте скрипт, по сути этот скрипт должен включать отображение button при уничтожении игрока, но он этого не делает, предполагаю что некорректно реализовал условие if

[SerializeField] private GameObject _player;

private void Start()
{
    transform.parent.gameObject.SetActive(false);
}

private void Update()
{
    if(GameObject.FindGameObjectsWithTag("Player") == null)
    {
        transform.parent.gameObject.SetActive(true);
    }
}
public void OnClick()
{
    SceneManager.LoadScene(0);
}

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

Автор решения: Григорий Кадетов

GameObject.FindGameObjectsWithTag(); возвращает массив. Если ничего не найдено, то он возвращает массив с длиной 0. Вообще длина этого массива будет показывать количество объектов с этим тэгом на сцене.

Попробуй так:

[SerializeField] private GameObject _player;

private void Start()
{
    transform.parent.gameObject.SetActive(false);
}

private void Update()
{
    if(GameObject.FindGameObjectsWithTag("Player").Length == 0)
    {
        transform.parent.gameObject.SetActive(true);
    }
}
public void OnClick()
{
    SceneManager.LoadScene(0);
}
→ Ссылка
Автор решения: Сherubim

Итак, напишу вариант решения для таких же гениев как и я, у которых возникла подобная проблема

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

[SerializeField] private GameObject _restarter;//сюда нужно поместить кнопку рестарта, или что там у вас 

 public void Destroyer() 
{
    Player.transform.Translate(0, -10, 0);
    _restarter.SetActive(true);
} // весь этот скрипт был один целым, из-за этого если я уничтожал объект, то все равно ничего не работало, поэтому если player достигал 0 хп, то он перемещался куда то, также по дефолту я выключал кнопку, ну и уже в этом методе включал 
→ Ссылка