В этой статье рассматриваются Определения сборок в Unity,, что они собой представляют, как их использовать и какие проблемы они решают.

Если вы потратили значительное время на разработку в Unity, вы, вероятно, знакомы с разочарованием, наблюдая, как время компиляции растягивается до бесконечности по мере роста вашего проекта. Задержка между внесением изменения кода и получением ответа Unity может сводить с ума, часто отвлекая ваше внимание, пока вы ждете завершения ужасной компиляции. Но не бойтесь: у Unity есть потрясающий инструмент, позволяющий значительно сократить время компиляции: файлы определения сборки.

Файлы определения сборки

Файлы определения сборки — это секретный соус для сокращения времени компиляции. Эти файлы ресурсов в вашем проекте позволяют Unity определять что и когда требует перекомпиляции. При стратегическом использовании они могут значительно сократить мучительные разрывы между кодированием и просмотром изменений в редакторе Unity. Как определено в документации Unity:

Сборка — это библиотека C#, содержащая скомпилированные классы и структуры, определенные вашими сценариями, которые также определяют ссылки на другие сборки.

Без пользовательских определений сборок Unity компилирует большинство ваших сценариев в сборку под названием Assembly-CSharp.dll, которую вы также можете найти в комплекте почти в каждой игре Unity. Хотя это нормально для небольших проектов, по мере роста проекта возникает ряд проблем, наиболее заметной из которых является увеличение времени компиляции.

Почему сборки?

Определение сборок приводит к более организованной и удобной в обслуживании кодовой базе, поскольку вы разбиваете код на своего рода контейнеры, которые перекомпилируются только после изменения. Например, вы можете разделить свой основной Game.dll на Logic.dll, который содержит всю основную логику игрового процесса и имеет отдельную сборку для тестирования и отладки с метким названием Debugging.dll .

Создание определения сборки

Чтобы создать актив определения сборки:

  1. В окне Проект найдите папку, содержащую…