Вы должны убедиться, что не уничтожить при ударе нагрузки.Ваша логика здесь ошибочна.Работайте задом наперед и увидите, что внизу не разрушится при загрузке сцены.Если вы заменяете игровой объект, убедитесь, что он имеет те же значения.
void Awake()
{
//Check if instance already exists
if (instance == null)
//if not, set instance to this
instance = this;
//If instance already exists and it's not this:
else if (instance != this)
//Then destroy this. This enforces our singleton pattern, meaning there can only ever be one instance of a GameManager.
Destroy(gameObject);
//Sets this to not be destroyed when reloading scene
DontDestroyOnLoad(gameObject);
}