Вы можете использовать SceneManager.LoadScene("level 1", LoadSceneMode.Single);
, чтобы очистить старую сцену и загрузить только новую, что позволит вам получить чистую сцену и не должно иметь проблем.
Если у вас есть скрипты, которые нуждаются вчтобы войти в новую сцену, вы можете использовать DontDestroyOnLoad(this);
в своих сценариях, и они переместятся в новую сцену.Проблема в том, что вы должны убедиться, что ваши скрипты, которые не уничтожаются, не пытаются получить доступ к разрушенным объектам.Из вашего комментария видно, что у вас есть контроллер движения игрока, который не разрушается или создается в сцене меню, и ссылки на него не обновляются корректно при перезагрузке сцены.Вы также можете использовать Destroy(this);
в своих сценариях, которые сохраняются при смене сцены, чтобы избавиться от них, когда они закончат работу.