Перейти к содержимому

Unity windows build support что это

  • автор:

Публикация сборок

В любой момент разработки игры можете захотеть посмотреть на то, как она выглядит вне редактора, при сборке в качестве самостоятельного приложения или веб-проигрывателя. В этом разделе рассказано, как вызвать и использовать окно Build Settings (настройки сборки) для создания разных сборок ваших игр.

Пункт меню File->Build Settings… позволяет открыть окно Build Settings. В нём выводится редактируемый список сцен для включения в сборку игры.

Окно Build Settings

Список будет пуст при первом открытии этого окна в проекте. В таком случае, при сборке, в игру будет включена только текущая открытая сцена. Если вы желаете быстро собрать тестовый плеер с единственной текущей сценой, просто соберите плеер с пустым списком сцен.

Для создания сборки с несколькими сценами можно довольно просто добавить нужные сцены в этот список. Первый способ заключается в нажатии кнопки Add Current . Вы увидите, что текущая сцена появилась в списке. Второй способ предполагает перетаскивание в список сцены из окна Project View .

Следует заметить, что каждая из сцен в списке имеет свой индекс. Scene 0 — это первая сцена, которая будет загружена в сборке. Если вы желаете загрузить другую сцену во время игры, используйте в вашем коде метод Application.LoadLevel().

Если вы добавили более одной сцены и хотите изменить их порядок, просто перетаскивайте сцены в списке до тех пор, пока не добьётесь необходимого вам порядка.

Чтобы удалить сцену из списка, достаточно выбрать её в списке и нажать Command-Delete (на Mac) или Delete (на Win). Сцена пропадёт из списка и не будет включена в сборку.

Когда вы будете готовы к публикации своей сборки, выберите нужную платформу в списке Platform и удостоверьтесь, что напротив неё находится логотип Unity; если это не так, тогда нажмите кнопку Switch Platform , чтобы сообщить Unity о том, под какую платформу вы желаете совершать сборку. После этого, нажмите кнопку Build . Откроется стандартное диалоговое окно сохранения файла, в котором вы можете выбрать имя и расположение для игры. После нажатия кнопки Сохранить Unity соберёт ваше приложение, и готово! Довольно просто, не так ли? Если вы не уверены, куда лучше сохранять сборку, сохраняйте её в корневую папку проектов. Вы не можете сохранять сборку в папку Assets.

Включение опции Development Build добавит плееру возможность использовать Profiler и позволит изменять опции Autoconnect Profiler и Script Debugging.

Further information about the Build Settings window can be found on the Build Settings page.

Сборка standalone плееров

Unity может собирать standalone приложения для Windows, Mac и Linux. Достаточно просто выбрать целевую платформу в настройках сборки и нажать кнопку ‘Build’. При сборке standalone проигрывателей, получаемые в результате файлы могут различаться в зависимости от выбранной платформы. На Windows в результате сборки будет создан исполняемый файл (.exe) и папка “Data”, содержащая все ресурсы приложения. На Mac будет создан “app bundle”, содержащий все необходимые файлы для запуска приложения и его ресурсы.

Распространение standalone приложения на Mac заключается в передаче “app bundle” (в него упаковано всё необходимое). На Windows необходимо предоставить .exe-файл и папку Data, чтобы другие могли запустить приложение. То есть, чтобы другие пользователи могли запустить у себя ваши приложения, на их компьютерах должны быть файлы, которые для вас собрал Unity.

В недрах процесса сборки

Сперва процесс сборки разместит пустую копию игры там, где вы указали. Затем он начнёт прорабатывать список сцен в настройках сборки: открывать в редакторе одну из них за раз, оптимизировать их и интегрировать их в пакет приложения. Он также подсчитает все ассеты, необходимые включенным в сборку сценам и сохранит эти данные в отдельном файле внутри пакета приложения.

  • Любой GameObject в сцене с тэгом ‘EditorOnly’ не будет включён в собираемый пакет. Это удобно для отладки скриптов, которые не должны оказаться в финальной игре.
  • Все объекты в текущем уровне уничтожаются при загрузке нового уровня. Чтобы это предотвратить, используйте DontDestroyOnLoad() на любых объектах, которые вы желаете уберечь от уничтожения. Обычно это используют для проигрываемой при загрузке уровня музыки, или для скриптов игровых контроллеров, которых хранят состояние и прогресс игры.
  • После загрузки уровня будет разослано сообщение OnLevelWasLoaded() всем активным игровым объектам.
  • Для дополнительной информации о том, как лучше всего создавать игры, в которых насколько сцен (например, главное меню, экран рейтинга и сами уровни игры), ознакомьтесь с нашими уроками.

Предварительная загрузка (далее — прелоадинг)

Опубликованные сборки автоматически осуществляют прелоадинг всех ассетов в сцене при её загрузке. Исключением является сцена 0, так как она, как правило, используется в качестве загрузочного экрана, который нужно отобразить как можно быстрее.

Если вы желаете, чтобы прелоадинг осуществлялся для всего содержимого, достаточно просто создать пустую сцену, в которой будет вызываться Application.LoadLevel(1) , и в окне настроек сборки сделать её первой в списке сцен (чтобы индекс был 0). Все последующие уровни будут загружаться с прелоадингом.

Вы готовы собирать игры

На данный момент вы изучили, как использовать интерфейс Unity, как использовать ассеты, как создавать сцены и как публиковать ваши сборки. Теперь вас ничто не останавливает от создания игры вашей мечты. Мы уверены, что по пути вам ещё предстоит многое узнать, и мы всегда рядом, чтобы помочь вам во всём разобраться.

Для дополнительной информации о том, как создавать игровые уровни, см. раздел Построение сцен.

Для дополнительной информации о написании скриптов для вашей игры, см. раздел Скриптинг.

Для дополнительной информации о создании графических ассетов, см. раздел Импорт и создание ассетов данного руководства.

Для общения с другими пользователями Unity, посетите Unity Forums. Там вы можете задавать вопросы, делиться проектами, строить команду, можете делать там всё, что вы захотите. Обязательно загляните на форумы хотя бы один раз, потому что мы хотим посмотреть на невероятные игры, которые вы создадите.

Выбор версии Unity и подключаемого модуля XR

Хотя мы рекомендуем использовать версии Unity LTS (долгосрочная поддержка) с последней Смешанная реальность подключаемым модулем OpenXR для разработки HoloLens 2 и Windows Mixed Reality, вы также можете создавать приложения с другими конфигурациями Unity.

Unity 2021.3 LTS (рекомендуется)

[!IMPORTANT] > The latest Unity 2021 release has [a known blocking performance bug with HoloLens 2](../../known-issues.md) if the project is using URP rendering pipeline. > > For new projects using URP rendering, we recommend using latest **Unity 2020.3.35f1 or later LTS** with **the latest Mixed Reality OpenXR plugin** to avoid this issue. > > If using other Unity releases, consult the [known active blocking issues](../../known-issues.md#active-blocking-issues) to ensure you avoid builds with other blocking issues. —>

Мы рекомендуем использовать последнюю версию исправления 2021.3 LTS и рекомендуемую версию подключаемых модулей Unity вместе с последней Смешанная реальность подключаемым модулем OpenXR.

Если вы используете более ранний выпуск исправлений Unity, обязательно ознакомьтесь с таблицей известных проблем блокировки , чтобы избежать сборок с другими проблемами блокировки.

Unity 2020 и более поздних версий не поддерживает нацеливание на HoloLens (1-го поколения). Эти гарнитуры по-прежнему поддерживаются в Unity 2019 LTS с устаревшей встроенной архитектурой XR в течение всего жизненного цикла Unity 2019 LTS.

Лучший способ установки Unity и управления ими — с помощью Unity Hub:

  1. Установите Unity Hub.
  2. Перейдите на вкладку Установки и нажмите кнопку Добавить.
  3. Выберите Unity 2021.3 LTS и нажмите кнопку Далее.

Установка новой версии Unity Hub

  1. В разделе «Платформы» проверьте следующие компоненты:
    • поддержка сборки для универсальной платформы Windows;
    • поддержка сборки для Windows (IL2CPP) .

Параметр Unity Universal Windows Platform Build Support (Поддержка сборки для универсальной платформы Windows)

  1. Если вы ранее установили Unity без этих параметров, их можно добавить в меню «Добавить модули» в Unity Hub:

Параметр Unity Windows Build Support (Поддержка сборки для Windows)

После установки Unity 2021.3 приступите к созданию проекта или обновлению существующего проекта с помощью подключаемого модуля Смешанная реальность OpenXR:

Unity 2020.3 LTS

Unity 2020.3 LTS достигла конца двухлетнего периода поддержки Long-Term Unity и больше не получает обновления от Unity, хотя ваши проекты будут продолжать работать.

Если вам нужно использовать Unity 2020, можно использовать Unity 2020 LTS с OpenXR.

Хотя мы рекомендуем использовать OpenXR для проектов, Unity 2020.3 также поддерживает подключаемый модуль Windows XR.

Если у вас есть проект Unity 2020, следует рассмотреть возможность планирования миграции на Unity 2021.3 LTS и подключаемый модуль Смешанная реальность OpenXR.

Unity 2019.4 LTS

Unity 2019.4 LTS достигла конца двухлетнего периода поддержки Long-Term Unity и больше не получает обновления от Unity, хотя ваши проекты будут продолжать работать.

Если вам нужно использовать Unity 2019, можно использовать Unity 2019 LTS со встроенной архитектурой XR прежних версий.

С Unity 2019 не рекомендуется использовать встроенную поддержку XR прежних версий. Хотя Unity 2019 предлагает новую платформу подключаемого модуля XR, корпорация Майкрософт в настоящее время не рекомендует этот путь в Unity 2019 из-за несовместимости Пространственных привязок Azure с AR Foundation 2. В Unity 2021 пространственные привязки Azure поддерживаются в платформе подключаемых модулей XR.

Если вы разрабатываете приложения для HoloLens (1-го поколения), эти гарнитуры по-прежнему поддерживаются в Unity 2019 LTS с устаревшей встроенной архитектурой XR в течение всего жизненного цикла Unity 2019 LTS.

Unity 2018.4 LTS

Unity 2018.4 LTS достигла конца двухлетнего периода поддержки Long-Term Unity и больше не получает обновления от Unity, хотя ваши проекты будут продолжать работать.

Если у вас есть проект Unity 2018, следует рассмотреть возможность планирования миграции на Unity 2021.3 LTS и подключаемый модуль Смешанная реальность OpenXR.

Как скачать и установить Unity

Как скачать и установить Unity

Василий Горелкин

Василий Горелкин Учит детей и взрослых разрабатывать игры. Ведет разработку своего проекта.

Unity — это игровой движок для разработки, управления и развития мобильных и десктопных игр или консолей. Вместе с преподавателем курса по Unity и C# Василием Горелкиным подготовили краткую инструкцию по установке Unity для тех, кто хочет начать создавать свои игры.

Системные требования

  • Любой 4-ядерный процессор начиная с 2011–2012 годов. (Линейка Intel Core i3, i5, i7, AMD FX 8000) (Кроме линейки Intel Celeron и AMD Athlon, AMD A-серия).
  • 4 ГБ оперативной памяти.
  • Видеокарта уровня GT1030 и выше или встроенная графика уровня Intel HD Graphics 610 или выше, или Vega8 и выше.

Освойте профессию «Разработчик игр на Unity»

Разработчик игр на Unity

Все главные навыки разработчика игр на одном курсе. Вы освоите все этапы геймдизайна, научитесь программировать на С# и создадите 7 игр во время курса.

картинка (95)

Профессия / 18 месяцев
Разработчик игр на Unity

Создавайте виртуальные миры

Group 1321314346 (3)

Рекомендуемые требования:

  • Любой 4-ядерный процессор начиная с 2017 года. (Кроме линейки Intel Celeron и AMD Athlon).
  • 8–16 ГБ оперативной памяти.
  • Видеокарта уровня GTX 1060 6Gb и выше.

Вот характеристики компьютера, на котором разрабатывались учебные модули для курса «Разработчик игр на Unity»:

  • Процессор: AMD Ryzen 5 1600 Six-Core Processor 3.20 GHz
  • Оперативная память: 16 ГБ
  • Видеокарта: GTX1060 6Gb

Установка игрового движка Unity

1. На сайте выберите «Начать».

сайт Unity 3d, как скачать бесплатно

2. В открывшейся вкладке выберите «Физическое лицо» и бесплатный проект.

3. Дальше выберите версию для операционной системы (Mac OS или Windows), начнется автоматическая загрузка установщика.

как скачать Unity 3D

4. Откройте установщик Unity, который вы только что скачали. Нужно прочитать и согласиться с условиями обслуживания.

Условия обслуживания Unity

5. Как только установщик откроется, на Mac выберите папку для сохранения, обычно это «Программы» (Applications). На Windows также можно выбрать место для сохранения, либо файл автоматически сохранится в «Загрузки».

Установка Unity Hub на Mac

6. Откройте Unity Hub, дождитесь окончания проверки. Появится окно для разрешения запуска, нажмите «Открыть» (на Mac) или «Да» (на Windows).

разрешение для Unity Hub

7. Вы окажетесь на странице регистрации. Если у вас еще нет аккаунта, нажмите Сreate Аccount.

Регистрация в Unity Hub

Разработчик игр на Unity – одна
из самых творческих профессий в IT. Создайте виртуальные миры уже через полгода обучения

8. Вас отправит на страницу регистрации, где нужно заполнить свои email, пароль, имя пользователя и ник, а также согласиться с условиями лицензии и политикой приватности. Не забудьте подтвердить регистрацию, пройдя по ссылке в письме.

Подтверждение регистрации в Unity и создание ID

9. Перейдите обратно в Unity Hub и авторизуйтесь. Откроется приветственная страница, нажмите Got it.

Авторизация в Unity Hub

10. Откроется установщик, который предложит загрузить последнюю актуальную версию Unity. Нажмите Install. По умолчанию папкой для установки на Windows будет C://Program Files/Unity/Hub/Editor, а на Mac — /Applications/Unity/Hub/Editor.

куда установить Unity

11. Для разработки также нужно получить лицензию, нажмите Agree and get personal edition license. Unity можно использовать бесплатно, если игры, которые вы разрабатываете, не приносят больше 100 000$ в год, это описано в условиях.

Персональное пользовательское соглашение Unity

12. Начнется загрузка, на это потребуется время.

бесплатная загрузка Unity для установки

13. Параметры установки редактора или проектов можно поменять в настройках (Preferences).

Настройки Unity Hub

14. Выберите Location, если нужно изменить папку сохранения. Закройте настройки.

настройки установки Unity

15. Если нужно установить другие версии редактора, нажмите Install Editor, выберите подходящую, нажмите Install.

16. Выпадет окно, где можно подобрать параметры установки: оставляем галочку у Visual Studio — это интегрированная среда разработки программного обеспечения. С ее помощью можно писать, редактировать, повышать производительность кода, чтобы создавать скрипты для игр.

Добавьте необходимые галочки в платформах: например, Android Build Support со всеми вложенными галочками или любую другую, для которой вы собираетесь разрабатывать игры. Можно убрать галочку с документации, так как она есть в интернете. Нажмите Install. Сначала нужно прочитать и согласиться с лицензионными условиями Visual Studio и Android SDK & NDK Tools, тогда начнется установка компонентов.

17. После завершения загрузки можно попробовать зайти в проект: Projects — New project.

проекты Unity после установки

18. Выберите любой, нажмите Create project.

19. Проект успешно загрузился!

Введение в IL2CPP

Unity продолжают совершенствовать технологию IL2CPP, а мы публикуем перевод статьи о том, как она работает.

Около года назад мы писали о будущем скриптинга в Unity. Новая технология скриптинга IL2CPP должна была обеспечить движок высокопроизводительной портативной виртуальной машиной. В январе мы выпустили нашу первую платформу на 64-битной iOS, использующую IL2CPP. С выходом Unity 5 появилась еще одна платформа – WebGL. При поддержке огромного сообщества пользователей мы выпустили множество патчей и обновлений для IL2CPP, постепенно оптимизируя компилятор и повышая быстродействие среды.

А пока мы продолжаем совершенствовать технологию IL2CPP, было бы неплохо рассказать о том, как она работает. Мы планируем написать серию статей, посвященных таким темам:

1. Основы – набор инструментов и аргументы командной строки (эта статья).
2. Экскурсия по генерируемому коду.
3. Советы по отладке генерируемого кода.
4. Вызовы методов: обычные методы, виртуальные методы и другие.
5. Реализация общего обмена.
6. Обёртки P/Invoke для типов и методов.
7. Интеграция сборщика мусора.
8. Тестирование и применение фреймворков.

В этих статьях мы обсудим некоторые особенности реализации IL2CPP. Надеюсь, эта информация вам пригодится.

Что такое IL2CPP?

Технология IL2CPP состоит из двух частей:

• компилятор Ahead-of-time (AOT);
• исполняемая библиотека для поддержки виртуальной машины.

AOT-компилятор переводит промежуточный язык (IL) из .NET-компиляторов в исходный код C++. Исполняемая библиотека предоставляет сервисы и абстракции (такие как сборщик мусора), межплатформенный доступ к потокам и файлам, а также способы реализации внутренних вызовов (неуправляемый код, напрямую изменяющий управляемые структуры данных).

AOT-компилятор

AOT-компилятор IL2CPP называется il2cpp.exe. В Windows его можно найти в директории Editor\Data\il2cpp, а в OS X – в директории Contents/Frameworks/il2cpp/build в месте установки Unity. Утилита il2cpp.exe полностью написана на языке C# и скомпилирована с помощью .NET и компиляторов Mono.

Эта утилита принимает управляемые сборки, скомпилированные Mono-компилятором, поставляемым с Unity, и генерирует код C++, который мы передаем в компилятор C++ для конкретной платформы.
Инструментарий IL2CPP можно схематически представить так:

Исполняемая библиотека

Вторая часть технологии IL2CPP – это исполняемая библиотека для поддержки виртуальной машины. Мы написали эту библиотеку почти полностью на C++ (в ней есть немного платформенного кода, но пусть это останется между нами) и назвали ее libil2cpp. Она поставляется в виде статической библиотеки, связанной с исполняемым файлом плеера, а ее простота и портативность являются одними из ключевых преимуществ технологии IL2CPP.

Вы можете получить более четкое представление об организации кода libil2cpp, глядя на файлы заголовков, поставляемых с Unity (их можно найти в директории Editor\Data\PlaybackEngines\webglsupport\BuildTools\Libraries\libil2cpp\include в Windows, или в директории Contents/Frameworks/il2cpp/libil2cpp – в OS X). Например, интерфейс между кодом C++, генерируемым il2cpp.exe, и средой libil2cpp находится в файле заголовка codegen/il2cpp-codegen.h.

Один из ключевых элементов среды – сборщик мусора. В комплект Unity 5 входит libgc, сборщик мусора Boehm-Demers-Weiser. Однако libil2cpp поддерживает и другие сборщики. Например, мы рассматриваем возможность интеграции с Microsoft GC – сборщиком с открытым исходным кодом в комплекте CoreCLR. В одной из следующих статей мы расскажем о нём подробнее.

Как выполняется il2cpp.exe?

Давайте рассмотрим на примере. Для этого я создам новый пустой проект в Unity 5.0.1 на Windows. Чтобы у нас был хотя бы один пользовательский скрипт, я добавлю к главной камере простой компонент MonoBehaviour:

При сборке для платформы WebGL я могу использовать Process Explorer, чтобы увидеть команду для запуска il2cpp.exe:

«C:\Program Files\Unity\Editor\Data\MonoBleedingEdge\bin\mono.exe» «C:\Program Files\Unity\Editor\Data\il2cpp/il2cpp.exe» —copy-level=None —enable-generic-sharing —enable-unity-event-support —output-format=Compact —extra-types.file=»C:\Program Files\Unity\Editor\Data\il2cpp\il2cpp_default_extra_types.txt» «C:\Users\Josh Peterson\Documents\IL2CPP Blog Example\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll» «C:\Users\Josh Peterson\Documents\IL2CPP Blog Example\Temp\StagingArea\Data\Managed\UnityEngine.UI.dll» «C:\Users\Josh Peterson\Documents\IL2CPP Blog Example\Temp\StagingArea\Data\il2cppOutput»

Это достаточно длинная строка, поэтому давайте разберем ее по частям. Сперва Unity запускает этот исполняемый файл:

Следующий аргумент – сама утилита il2cpp.exe.

Остальные аргументы передаются il2cpp.exe, а не mono.exe. Давайте разберем и их. Во-первых, Unity передает 5 флагов il2cpp.exe:

• -copy-level=None
Указывает, что il2cpp.exe не следует выполнять специальные копии файлов генерируемого кода C++.

• -enable-generic-sharing
Уменьшает размер кода и бинарного файла. Со временем мы опубликуем процесс выполнения универсальных методов в IL2CPP.

• -enable-unity-event-support
Обеспечивает корректную генерацию кода для событий Unity, вызываемых при помощи рефлексии.

• -output-format=Compact
Генерирует код C++ в формате с меньшим количеством символов для имен типов и методов. Учитывая, что имена на промежуточном языке не сохраняются, такой код сложнее отлаживать, но зато он быстрее компилируется, поскольку компилятору C++ нужно разобрать меньше кода.

• -extra-types.file=»C:\Program Files\Unity\Editor\Data\il2cpp\il2cpp_default_extra_types.txt»
Использует стандартный пустой файл для дополнительных типов. Его можно добавить в проект Unity, чтобы il2cpp.exe знал, какие универсальные или индексируемые типы создаются во время выполнения, но не указаны в коде IL.

Стоит отметить, что этот набор аргументов командной строки для il2cpp.exe всё еще нестабилен и, скорее всего, изменится в последующих версиях.

Итак, в командной строке указаны 2 файла и 1 директория:

• «C:\Users\Josh Peterson\Documents\IL2CPP Blog Example\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll»
• «C:\Users\Josh Peterson\Documents\IL2CPP Blog Example\Temp\StagingArea\Data\Managed\UnityEngine.UI.dll»
• «C:\Users\Josh Peterson\Documents\IL2CPP Blog Example\Temp\StagingArea\Data\il2cppOutput»

Утилита il2cpp.exe принимает список всех сборок IL, подлежащих конвертации. В нашем случае сюда входит мой простой скрипт MonoBehaviour, Assembly-CSharp.dll и UnityEngine.UI.dll. Обратите внимание, что здесь явно отсутствует несколько сборок. Очевидно, что мой скрипт ссылается на UnityEngine.dll, а значит нужен хотя бы mscorlib.dll, и, возможно, другие сборки. Но где они? Дело в том, что разрешение сборок происходит внутри il2cpp.exe. Их можно упомянуть в командной строке, но это необязательно. Получается, Unity нужно всего лишь указать корневые сборки (на которые не ссылаются другие сборки).

Последний аргумент командной строки il2cpp.exe – каталог, в котором создаются файлы C++. Если вам интересно, вы можете сами ознакомиться со сгенерированными файлами, но мы еще поговорим о них подробнее в следующей статье. Прежде чем открыть каталог, вам стоит выбрать опцию Development Player в настройках сборки WebGL. Это удалит аргумент -output-format=Compact и улучшит отображение имен типов и методов в коде C++.

Попробуйте поиграть с настройками Player Settings WebGL или iOS. Вы увидите различные параметры командной строки, передаваемые il2cpp.exe и отвечающие за различные этапы генерации кода. Например, задав параметру Enable Exceptions в WebGL Player Settings значение Full, вы добавите в командную строку аргументы -emit-null-checks, -enable-stacktrace и -enable-array-bounds-check.

Чего не делает IL2CPP?

Хотелось бы обратить внимание на одну сложность, которую мы решили обойти стороной и таким образом избежали многих проблем. Мы не пытались переписать стандартную библиотеку C# под IL2CPP. При создании проекта Unity с использованием IL2CPP весь код стандартных библиотек C# (mscorlib.dll, System.dll и т. д.) является точной копией кода Mono-скриптов.

Мы используем код стандартных библиотек C#, потому что он уже успел хорошо зарекомендовать себя во многих проектах. Таким образом, если где-то возникает ошибка, мы можем быть уверены, что проблема в AOT-компиляторе или исполняемой библиотеке.

Разработка, тестирование и выпуск IL2CPP

С момента первого официального релиза IL2CPP версии 4.6.1p5 в январе мы выпустили 6 полноценных обновлений и 7 патчей (для Unity 4.6 и 5.0), в которых исправили более ста ошибок.

Чтобы обеспечить непрерывную оптимизацию, мы разрабатываем обновления на базе одной версии кода. Перед каждым релизом мы передаем все изменения в конкретную релизную ветку, проводим тестирование и проверяем, все ли ошибки были успешно исправлены. Наши команды QA и Sustained Engineering прикладывают максимум усилий, чтобы разработка велась в таком темпе, и ошибки исправлялись каждую неделю.

Наше сообщество оказало нам бесценную помощь, предоставив множество полезных сообщений об ошибках. Мы очень благодарны пользователям за все отзывы, которые помогают непрерывно улучшать IL2CPP.

Для разработчиков IL2CPP тестирование стоит на первом месте. Мы часто берем за основу технику разработки через тестирование и крайне редко отправляем запросы на включение, если код не был полностью протестирован. Эта стратегия хорошо работает для таких технологий, как IL2CPP, где есть четкие входы и выходы. Это означает, что подавляющее большинство ошибок, с которыми мы сталкиваемся, являются скорее частными случаями, чем неожиданным поведением системы (например, при использовании 64-битного IntPtr в качестве 32-битного индекса массива может произойти вылет с ошибкой компилятора С++). Таким образом, мы можем быстро определять и исправлять любые баги.
При поддержке нашего сообщества мы всё время делаем IL2CPP стабильнее и производительнее.

Продолжение следует
Боюсь, я слишком часто упоминаю о следующих статьях. Просто хочется рассказать очень много, и это не уместить в одном посте. В следующий раз мы покопаемся в коде, генерируемом il2cpp.exe, и поговорим о работе компилятора C++.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *