DontDestroyOnLoad - это ценный способ добиться этого.
Вы также можете сделать следующее:
Создайте пустой объект с именем "Cross-Scene-Objects" и добавьте в него скрипт, сделайте так, чтобы он не разрушался при загрузке. Затем просто добавьте дочерние объекты к этому объекту и удалите объекты по своему усмотрению.
Вы также можете сделать скрипт CrossSceneObjects одноэлементным классом и иметь несколько базовых методов AddObject и RemoveObject, которые обрабатывают помещение игровых объектов под объект.
Если вам нужны только определенные объекты в определенных сценах, вы можете использовать описанный выше метод, но добавить дополнительную логику, чтобы активировать игровые объекты, если вы находитесь в сцене, в которой вы хотите, чтобы они отображались.
У меня нет примера кода, но если этого недостаточно для работы, я могу с радостью отредактировать и привести примеры кода :) Мой стиль - сначала предоставить шаги решения, а не код, чтобы дать вам отправную точку.