Если рассматривать MonoBehaviour как инструмент, который нужно использовать с умом, то проблем с производительностью действительно можно избежать (ну или хотя бы свести их к минимуму). Разумеется, если завязывать большой проект на компонентной системе юнити (т.е. каждый модуль каждого объекта - отдельный MB со всеми существующими эвент функциями) то проблем с вычислениями на проце можно хапнуть с горой, хотя опять же в контексте игростроя код не так часто бывает камнем преткновения по производительности, ну, если мы не делаем какой-то масс баттлер или что-то уж совсем криминальное. Чаще же намного это графика и модификация объектов на сцене, но это уже отдельная тема для топика.
Я для себя выбрал подход, в котором MB это точка входа сцены, фасадные классы и инсталлеры (чтобы не компилить код по новой при каждом изменении параметров объекта). В этом плане мне юнити и нравится: это просто инструмент для связи моего кода и сцены. Я тут программист, и я хочу решать, как будет происходить управление зависимостями на сцене и между сценами, как будет простраиваться архитектура (благо, решений как готовых так и готовых к написанию бесконечное множество), и я уже точно могу быть уверен, что если я и встречаю какие-то проблемы расширяемости/масштабируемости моего проекта, то я и есть виновник этих проблем.
Если рассматривать MonoBehaviour как инструмент, который нужно использовать с умом, то проблем с производительностью действительно можно избежать (ну или хотя бы свести их к минимуму). Разумеется, если завязывать большой проект на компонентной системе юнити (т.е. каждый модуль каждого объекта - отдельный MB со всеми существующими эвент функциями) то проблем с вычислениями на проце можно хапнуть с горой, хотя опять же в контексте игростроя код не так часто бывает камнем преткновения по производительности, ну, если мы не делаем какой-то масс баттлер или что-то уж совсем криминальное. Чаще же намного это графика и модификация объектов на сцене, но это уже отдельная тема для топика.
Я для себя выбрал подход, в котором MB это точка входа сцены, фасадные классы и инсталлеры (чтобы не компилить код по новой при каждом изменении параметров объекта). В этом плане мне юнити и нравится: это просто инструмент для связи моего кода и сцены. Я тут программист, и я хочу решать, как будет происходить управление зависимостями на сцене и между сценами, как будет простраиваться архитектура (благо, решений как готовых так и готовых к написанию бесконечное множество), и я уже точно могу быть уверен, что если я и встречаю какие-то проблемы расширяемости/масштабируемости моего проекта, то я и есть виновник этих проблем.