Генерация проекта Visual Studio для Windows
Параметр сборки Create Visual Studio Solution предписывает Unity создавать решение Visual Studio вместо сборки Player. Создание решения Visual Studio позволяет изменить процесс сборки. Например, можно:
- Измените манифест приложения.
- Добавить код C++.
- Изменение встроенных ресурсов.
- Запустите приложение с подключенным отладчиком.
Примечание: Эта опция доступна только при использовании Windows построить цель.
Создание решения Visual Studio
Предупреждение: Убедитесь, что вы сохранили и создали резервную копию любых изменений, которые вы сделали в Visual Studio, прежде чем перестроить проект Unity. Если вы не создали резервную копию изменений, Unity перезапишет их во время процесса сборки.
- Перейдите в Файл > Профиль сборки.
- Из списка платформ в панели Платформы выберите Windows или создать профиль сборки для платформы Windows.
- В разделе Параметры платформы включите Создать решение Visual Studio.
- Выберите Строительство для создания решения.
По умолчанию Unity хранит созданное решение Visual Studio в том же каталоге, что и созданный проект.
Скриптовые бэкэнды
Количество проектов в решении Visual Studio, которое создаёт Unity, зависит от скриптового бэкенда, используемого проектом Unity. Для бэкенда Mono решение содержит три проекта. Для бэкенда IL2CPP решение содержит четыре проекта.
Примечание: Вы можете только собрать Windows IL2CPP на машине Windows.
Project мастер перенаправления
Unity создает решение Visual Studio, нацеленное на Visual Studio 2015. Если используется более новая версия Visual Studio, при открытии решения Visual Studio может появиться диалоговое окно Перенаправление проектов.
Диалоговое окно Перенаправление проектов предлагает обновить решение Visual Studio, чтобы оно соответствовало установленной версии Visual Studio. Выберите OK, чтобы принять это предложение.
Содержание раствора
Ниже приведен список проектов, которые Unity создает для вашего решения Visual Studio.
| Project | Описание |
|---|---|
| projectName (представляет название вашего проекта) |
Это ваш основной проект. Visual Studio создает из этого проекта окончательный исполняемый файл приложения. Скорее всего, здесь вы будете вносить изменения. |
| UnityData (хранятся в рамках проекта projectName) |
Этот проект содержит все файлы Unity, необходимые для создания проекта, например, ассеты. |
| UnityPlayerStub | Это библиотека-заглушка для UnityPlayer.dll. Unity использует её для связывания исполняемого файла с UnityPlayer.dll и вывода доступных UnityPlayer.dll API. |
| Il2CppOutputProject (IL2CPP только бэкэнд скриптов) |
Этот проект содержит: • Сгенерированный C++ код, который Unity преобразует из управляемых сборок. • Исходный код для IL2CPP runtime. • Сборщик мусора IL2CPP. Вы можете отладывать этот код из Visual Studio. |
Создание параметров конфигурации в Visual Studio
Visual Studio предоставляет различные параметры конфигурации сборки. Все ссылки на оптимизацию и отладку в этом разделе относятся только к решению Visual Studio. Чтобы выбрать параметры, нажмите на Выпуск и выберите из раскрывающегося меню.
Типы конфигураций сборки
| Конфигурация | Использование | Описание |
|---|---|---|
| Отладка | Используйте конфигурацию Отладка при отладке кода C++. | • Отключает всю оптимизацию. • Сохраняет всю информацию об отладке в коде. • Результаты в коде, который работает медленно. |
| Выпуск | Используйте конфигурацию Выпуск для профилирования вашей игры. | • Позволяет оптимизировать код. |
| Мастер | Используйте конфигурацию Мастер для отправки игры и окончательного тестирования. | • Отключает профилер. • Результаты в то же время сборки, что и конфигурация Выпуск. |
| MasterWithLTCG (доступно только при включении сервера скриптов IL2CPP.) | Если вы используете IL2CPP scripting backend, вы можете выбрать либо Мастер или MasterWithLTCG для отправки игры и окончательного тестирования. | • Позволяет генерировать код времени связи для генерируемого C++ кода, IL2CPP runtime и IL2CPP garbage collection. • Результаты в гораздо более длительное время сборки по сравнению с Мастер конфигурации. • Результирующая приложение выполняется быстрее. |
Дополнительные ресурсы
- Unity руководство по отладке для Windows
- Windows контроль целостности
- IL2CPP Скриптирование
- Оптимизация производительности с помощью DirectStorage
- Устранение неполадок D3D12 GPU сбоев на Windows