• Какие есть best practices для unity3d?

    HomoLuden
    @HomoLuden
    1. Не используйте множественного наследования от MonoBehavior:
    class SomeBaseBehavior : MonoBehavior
    {...}
    class SomeConcreatBehavior : SomeBaseBehavior
    {...}

    Я вижу как минимум одну причину (если не ошибаюсь): методы Start, Update и прочие, судя по всему, не виртуальные.
    2. Не называйте скрипты поведения в честь объектов (префабов и прочего). Скрипты поведения не должны быть привязаны к какому-то конкретному префабу
    3. Для получения информации от "соседних скриптов" используйте SendMessage на своем gameObject или у родительского (gameObject.transform.parent).
    4. Ну и наверно держите баланс между связностью скриптов между собой и производительностью. Т.е. кэшируйте вызовы
    GetComponent<...>(); 
    SendMessage(Wrap<T> valueRequest)

    которых много. Кэширование самих объектов скрипта для меня пока под вопросом (кажется стоит этого избегать).

    ЗЫ: возможно я в чем-то неправ, сам только начал активно знакомиться.
    Ответ написан
    1 комментарий