Одного такого человека нет. На это решение влияют продюссеры, геймдизайнеры, нарративные дизайнеры, сценаристы, может даже продакт-овнеры.
А начинать можно с геймдизайна.
При обновлении приложения все данные сохраняются
А при переустановке - происходит же сначала удаление. И ничего не остается. Вариант для переустановки - хранить данные не локально, а на сервере
Это код в эдиторе выполняется? Скорее всего надо Resources перезагрузить/обновить. Есть что то вроде AssetsDatabase.Reload (написал от балды - гуглите первое слово).
Если этот код не в эдиторе - то так делать нельзя.
Не вижу никаких проблем в реализации всего, что тут написано.
Учите юнити дальше, и в итоге поймете как это сделать.
Писать за вас реализацию никто не будет
Таких при ПОЛНОМ сохранении функционала нет. Но наверное он вам весь и не нужен.
Смотрите Rider. Если еще меньше - MonoDevelop. Дальше уже только всякие VisualStudioCode и Sublime
С таким багом я бы вообще временно снял с продажи.
Можно снять не саму игру, а выключить инаппы (каждый инап, в гуглконсоли). И тогда нельзя будет их купить.
Но в любом случае это негатив от пользователей
Использовать PlayerPrefs, в котором хранить json. Самый легальный вариант.
Объектов у которых нет координат по факту не существует еще в игровом мире ) Ну или сохраняйте тогда то что вам у них важно