Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Я неуверен, что там под капотом у Unity3D с многопоточностью, но возможно, что MonoBehavior инициализируются асинхронно (быть може на пулле потоков). Тогда есть вероятность, что такой вот синглтон проинициализируется дважды, трижды, стопиццотжды…
Вопрос мой, собственно, в том и состоит зачем тогда его вообще наследовать от MonoBehavior? Чтобы потом вот такие костыли наворачивать? Я, видимо, профит некий упускаю из внимания.
SomeClass().Instance().var — вот только в Юнити этого не надо, да и нигде не надо. Если уж не обойтись без синглтона, то прячьте его за статической функцией. Не нужно никому знать, что объект синглтон.
Я может не увидел по тексту… но зачем синглтон скрещивать с компонентом (MonoBehavior)?
Методы организации взаимодействия между скриптами в Unity3D