Что такое Assembly Definition в Unity и зачем он нужен?

Поделиться
HTML-код
  • Опубликовано: 11 июн 2024
  • Поддержи канал, бро!
    www.donationalerts.com/r/game...
    paypal.me/gamedevlavka
    Вышла целая минилекция о том, что такое Assembly Definition, зачем нужна, чем может быть полезен, а и чем может быть опасен. К просмотру всем джунам, кто собирается работать с ассетами из ассетстора, ибо на грабли неправильного использования Assembly Definition наступают многие, и не многие решают разобраться в вопросе раз и навсегда. Лавка Разработчика закрывает эту возможную брешь в знаниях!
    ___
    Лавка Разработчика в других соц. сетях, добавляйтесь!
    t.me/gamedevlavka - телеграм канал Лавки Разработчика
    t.me/gamedevtavern - ламповый чат
    / discord - дискорд
    gamedevlavka - вконтактик
    __________
    0:00 Вступление
    1:24 Собственно, лекция

Комментарии • 20

  • @fzfking
    @fzfking Год назад +7

    Норм тема, чтобы миллионы раз не пересобирать внешнюю библу, когда она не менялась

  • @turalaliyev1764
    @turalaliyev1764 Год назад +2

    Это канал заслуживает больше просмотров и подписчиков .

  • @skadexgd5057
    @skadexgd5057 Год назад +1

    Спасибо за видео!

  • @elezthemdev
    @elezthemdev 22 дня назад +1

    thx broooooooo!

  • @janitor13
    @janitor13 Год назад +3

    Харош мужик, хачапури в радость!

  • @janitor13
    @janitor13 Год назад +5

    Запиши видос про алгоритмы, нужны ли они юнити разработчику, и если да то какие. Желательно с примерами задач)

    • @HINCO38
      @HINCO38 11 месяцев назад +1

      Алгоритмы нужны любому разработчику

  • @nepochat
    @nepochat Год назад +1

    Лайк и коммент для поддержки

  • @Mr_TroubleMaker
    @Mr_TroubleMaker Год назад +1

    Допустим у меня есть папка плагинов(зенжект/один/твин/аналитика и так далее), и папка скриптов своих. В скриптах используются эти плагины соответственно. Будет ли профит если сделать для папки скриптов Assembly Definition??? ведь мне придётся прокидывать ссылки в него всех плагинов используемых и перекомпиляция следовательно идентичная как без Assembly Definition. И помню как то делал и мне пришлось ещё референсы на юнитёвкие ассеты прокидывать(синемамашин, TMP, реклама). Как организовать чтобы мои скрипты компилировались отдельно от всего этого барахла стороннего и желательно чтобы не было 100500 ссылок в Assembly Definition папки скриптов

    • @andrey_aka_skif
      @andrey_aka_skif Год назад +4

      Так это же классический граф зависимостей. Компонент имеет ссылки на те компоненты, от которых зависит. Фокус в том, что твои компоненты должны быть максимально независимы. Эдакие черные ящики - вещи в себе. А все зависимости прокидываются через интерфейсы. А самый верхний уровень в любом случае будет иметь ссылки на всё и всех. Это в терминах DI корень композиции. Т.е. ответ на твой вопрос не в том, нужно или нет делать AD для папки скриптов, а в том, что нужно писать скрипты соответствующим образом, уменьшая зацепление. И тогда своим независимым модулям нужно назначить AD. Ну, я так понимаю ситуацию. Возможно, более знающие люди возразят. Вокруг такого подхода вертятся TDD, тесты, и DI.

    • @gamedevlavka
      @gamedevlavka  Год назад +1

      Поддерживаю оратора выше, лучше и не скажешь. Профит от AD для тех участков кода, которые абсолютно самостоятельны и не зависят от проекта, в остальном можно пренебречь, т.к. неудобство использования может перекрыть скорость компиляции

  • @t0xangames207
    @t0xangames207 10 месяцев назад

    у меня есть свой код, и ассет со стора. В этом ассете есть ассет дифинишн. В своих скриптах я юзаю скрипты из ассета, но ассет подстроен под одичночую игру, мне нужно подключить его к своим скриптам, написанным для мультиплеера. Как я могу тут поступить?

    • @gamedevlavka
      @gamedevlavka  10 месяцев назад

      Писать также как и в одиночке. Ассет дифинишн не смотрит на мультиплеер это или нет. Это просто области видимости кода

    • @t0xangames207
      @t0xangames207 10 месяцев назад

      @@gamedevlavka у меня ассет на игрока, с кодом в отдельных сборках кода(ассет дифинишн), и мне нужно в код этого ассета свои классы с методами указывать, которые находятся в сборке AssemblyCSharp. Как мне поступить то? Если мой код имеет ссылки на код из того ассета и на классы, которые я хочу использовать в скрипте этого ассета на игрока

    • @t0xangames207
      @t0xangames207 10 месяцев назад

      @@gamedevlavka грубо говоря, код из того ассета не видит мой код,

  • @user-yx5mb4sz9t
    @user-yx5mb4sz9t Год назад +1

    А можно как-то ускорить загрузку проекта при первоначальном открытии. А то вроде маленький проект, а грузится долго.

    • @gamedevlavka
      @gamedevlavka  Год назад

      Не совсем понятно, что имеется ввиду под первоначальным открытием проекта

    • @user-yx5mb4sz9t
      @user-yx5mb4sz9t Год назад

      @@gamedevlavka когда Unity hub нажимаешь на проект

  • @user-iw8hb1hd1p
    @user-iw8hb1hd1p Год назад +3

    Предлагаю тему: addressables/google play asset delivery - не?

  • @user-zr5cb5pn2z
    @user-zr5cb5pn2z Год назад +1

    Ничего против не имею и поддерживаю обучающие видео для новичков. Но как по мне большинство твоих видео бесполезные, потому что это гуглится за минуту и читается быстрее 12 минут, потому что много комментариев есть чаще не по теме (это неплохо). Тебе бы глубже тему разбирать и рассказывать, какие-то неочевидные вещи, тогда и статистика будет лучше и подписота придёт. Как один из примеров - видео про async, ты рассказал самые очевидные вещи +скорее всего скомуниздил текст у Tarodev, видео почти идентичные, но его вышло раньше. Если уж и затронул эту тему, то хотелось бы посмотреть разбор cancel token, о чём ты в конце сказал и намекнул на продолжение в дальнейших видео, но имеем, что имеем.
    Чисто критика без агрессии