Префабы с MonoBehaviour в Юнити разделяют общие графические ресурсы или нужно использовать ScriptableObject?
Допустим у меня есть префаб Enemy, у него есть компонент SpriteRenderer с назначенным спрайтом. Если инстацировать 100 таких префабов, то в памяти компоненты SpriteRenderer будут ссылаться на 1 спрайт, или для каждого будет выделена своя область в памяти?
Или в целях экономии ресурсов нужно использовать ScriptableObject и при инициализации префаба назначать спрайт из SO?
Вопрос стоит в том, где лучше хранить ссылку на спрайт для объектов, которые потенциально могут исчисляться сотнями - в MB префаба или SO, ссылка на который будет в MB префаба
Где бы вы не хранили ссылки, проблема в том, что как только этот объект - хранитель ссылок, будет загружен все эти спрайты тоже будут загружены в память, даже если не один из них не показывается. Лучше такие спрайты загружать из ресурсов.