В этой статье рассматриваются Определения сборок в Unity,, что они собой представляют, как их использовать и какие проблемы они решают.
Если вы потратили значительное время на разработку в Unity, вы, вероятно, знакомы с разочарованием, наблюдая, как время компиляции растягивается до бесконечности по мере роста вашего проекта. Задержка между внесением изменения кода и получением ответа Unity может сводить с ума, часто отвлекая ваше внимание, пока вы ждете завершения ужасной компиляции. Но не бойтесь: у Unity есть потрясающий инструмент, позволяющий значительно сократить время компиляции: файлы определения сборки.
Файлы определения сборки
Файлы определения сборки — это секретный соус для сокращения времени компиляции. Эти файлы ресурсов в вашем проекте позволяют Unity определять что и когда требует перекомпиляции. При стратегическом использовании они могут значительно сократить мучительные разрывы между кодированием и просмотром изменений в редакторе Unity. Как определено в документации Unity:
Сборка — это библиотека C#, содержащая скомпилированные классы и структуры, определенные вашими сценариями, которые также определяют ссылки на другие сборки.
Без пользовательских определений сборок Unity компилирует большинство ваших сценариев в сборку под названием Assembly-CSharp.dll
, которую вы также можете найти в комплекте почти в каждой игре Unity. Хотя это нормально для небольших проектов, по мере роста проекта возникает ряд проблем, наиболее заметной из которых является увеличение времени компиляции.
Почему сборки?
Определение сборок приводит к более организованной и удобной в обслуживании кодовой базе, поскольку вы разбиваете код на своего рода контейнеры, которые перекомпилируются только после изменения. Например, вы можете разделить свой основной Game.dll
на Logic.dll
, который содержит всю основную логику игрового процесса и имеет отдельную сборку для тестирования и отладки с метким названием Debugging.dll
.
Создание определения сборки
Чтобы создать актив определения сборки:
- В окне Проект найдите папку, содержащую…