Auto attach components
Привет, я сделал плагин, который позволит быстро и удобно цеплять компоненты к полям в инспекторе
Для начала пример кода
Названия атрибутов говорят сами за себя. Вызываются они как только вы переходите в инспектор и выбираете GameObject на котором прицеплен этот скрипт.
Поводом для написания такого решения послужила проблема с null override, дело в том, что программист ленивый и не хочет каждый раз делать drag&drop, или же цеплять компонент в Awake/Start. В связи с этим, часто можно увидеть подобные конструкции.
Сами по себе такие штуки не представляют опасности, но при использовании их для компонентов в Юнити возникает серьезная проблема. Операция проверки на null, переписана в самом движке, из-за этого такая проверка негативно сказывается на производительности, настолько, что лучше написать просто GetComponent<T>. Ниже тред на эту тему.
По этой же причине, не стоит проверять на null через ? — результаты могут быть неожиданными.
В итоге я решил эту проблему через атрибуты и пользуюсь этим каждый день.
Установка проста, нужно лишь добавить в manifest.json :
Сам репозиторий, буду рад звездам :
Если вы используете VSCode, то может вам будут полезны и мои снипеты для более быстрой работы с атрибутами. Обычно использую эти два, за редким исключением.