При установке флажка **Development Build** в Unity Build Settings собирается «отладочный» вариант плеера. Он отличается от «Release» (обычного) тем, что в него целенаправленно добавляются инструменты диагностики и отключаются некоторые оптимизации, чтобы упростить поиск проблем: --- ### Что именно попадает в сборку |Группа изменений|Подробности| |---|---| |**Отладочные символы и метаданные**|• IL2CPP/Mono-сборки получают символы (dSYM/PDB/ELF) с адресами строк кода. • Включается подробное логирование исключений (полные stack trace).| |**Профилировщик**|• Встраиваются хуки Profiler’а для CPU, GPU, рендер-потока и GC. • Активируется подключение Profiler’а по сети («Autoconnect Profiler», если галка стоит).| |**Script Debugging**|• CLR запускается в debug-режиме; можно подключиться IDE-дебаггером (Rider/VS). • IL2CPP генерирует медленнее работающий, но более «прозрачный» код.| |**DEVELOPMENT_BUILD**|• Определяется одноимённая препроцессорная директива → в коде можно фильтровать debug-функции (`#if DEVELOPMENT_BUILD`).| |**Assert’ы и безопасные проверки**|• Активируются `Debug.Assert`, `UnityEngine.Assertions.Assert`, доп.проверки на выход за границы, null-checks и др.| |**Dev-console и on-screen-stats**|• На мобильных/Standalone включается «Development Console» (вызывается ~), вывод логов и stats-оверлей (FrameTime /etc.).| |**Менее агрессивный stripping**|• Code Stripping/Managed Stripping Level ослабляется, что увеличивает размер, но гарантирует сохранность символов для дебага.| |**Облегчённая защита контента**|• Шифрование IL2CPP-метаданных, obfuscation, контроль целостности могут быть отключены.| --- ### Практические последствия - **Размер**: бинарники и символ-файлы могут быть в 1.5–2 раза больше (особенно IL2CPP `libil2cpp.sym`). - **Производительность**: расходы на профилировочные хуки и вывод логов обычно дают +5-20 % к CPU-времени и иногда увеличивают GC-фрагментацию. - **Безопасность/пиратство**: отладочный плеер легче декомпилировать, так что его никогда не выкладывают в-прод. - **Подпись на Android**: Unity автоматически использует debug-keystore, если Вы не указали release-keystore вручную. --- ### Итог Флажок **Development Build** превращает ваш билд в удобную песочницу для профилирования и отладки: он содержит все необходимые точки входа для Profiler’а, дебаггера и журналирования, но за счёт этого становится тяжелее и медленнее. Поэтому: - **В релиз в магазине** — _не включайте_ этот флаг. - **Для внутренних тестов / QA** — включайте, чтобы ловить баги и смотреть метрики прямо на устройстве.