Неправильное поведение сопрограммы при загрузке сцены

Итак, у меня есть эта сопрограмма:

 IEnumerator ShowCharTraits()
    {

        while(!hasPlayerChosen)
        {
            yield return null;
            traitPanel.SetActive(true);
        }
        hasPlayerChosen = false;
        traitPanel.SetActive(false);
    //    Debug.Log("Got called! job done");

    }

Это вызывается так от метода пробуждения в моемGameManager:

players = GameObject.FindGameObjectsWithTag("Player");
                foreach (GameObject g in players)
                {
                    ui_Controller.StartShowCharTraits();
                    g.GetComponent<PlayerToken>().isTurn = false;
                }

StartShowCharTraits () - это простой метод, который делает это:

  public void StartShowCharTraits()
    {
        StartCoroutine("ShowCharTraits");
    }

Теперь я проверил теги, исключение нулевой ссылки, на самом деле никаких ошибок или предупреждений не выдается. Если я загружаю сцену в редактор, а затем воспроизводить ее, все работает нормально.traitPanel.SetActive(true); позвоните, и моя панель появится. Однако, когда я загружаю свою сцену из другой сцены, используяSceneManager.LoadScene(1); вышеупомянутая линия никогда не достигается. Есть идеи, почему это происходит ?

Ответы на вопрос(2)

Ваш ответ на вопрос