Только недавно стало известно, что Bolt становится бесплатным, а уже сегодня выходит новая версия Unity 2020.1. Довольно много изменений и улучшений. Пройдёмся по основным моментам. Примечание: если ваш проект находится далеко за фазой прототипирования, и вы собираетесь залочить разработку на определённой версии Unity для максимальной стабильности, рекомендуется использовать последнюю LTS версию Unity, Unity 2019 LTS. Совсем кратко с нововведениями можно ознакомиться в видео. Обновлён дизайн, в том числе новый пользовательский интерфейс (UI) с новой иконографией и улучшенной вёрсткой, чтобы помочь четко различать состояние пакетов. Также добавили чёткую маркировку и раздел предупреждений в пользовательском интерфейсе диспетчера пакетов, чтобы предоставить более подробную информацию об используемых пакетах в Preview. Список пакетов, отображаемых в пользовательском интерфейсе, также будет более строго отслеживаться, то есть будут доступны только пакеты, наиболее близкие к проверенной версии. Для экспертов есть новая мощная опция: можно устанавливать в свой проект пользовательские пакеты с поддержкой аутентификации для npm-scoped реестров и пакетов Git в подпапках репозитория. Новые улучшения в наборах инструментов предоставляют больше возможностей для настройки рабочих процессов в соответствии с конкретными потребностями. С Unity 2020.1 теперь можно визуализировать контекст сцены или родительского Prefab-а при редактировании вашего Prefab-а. Добавили несколько улучшений в импортер, чтобы пользовательские свойства для объектов из SketchUp теперь можно было импортировать вместе с новыми настройками преобразования осей, что позволяет устранять проблемы с импортом осей без необходимости повторно открывать меши в программе создания цифрового контента (DCC). Новый конвейер импорта ассетов v2, который был представлен в прошлом году, теперь используется по умолчанию и поставляется с поддержкой сериализованных файлов размером более 2 ГБ и строкой состояния. С помощью окна Focused Inspector вы теперь можете легко просматривать подробности Inspector выбранного GameObject, новый API-интерфейс для Progress и окно Background Tasks позволяют лучше отслеживать прогресс, а Partial Presets обеспечивают большую гибкость и контроль при применении пресетов к вашей сцене. Подробности на этой странице. Что касается инструментов для программистов, то команда Unity в первую очередь сосредоточилась на улучшении удобства использования и стабилизации рабочих процессов, представленных в предыдущих выпусках. Profiler теперь можно запускать как отдельное приложение, которое снижает нагрузку на производительность при профилировании редактора и обеспечивает более чистые данные. Функция Flow Event облегчает обнаружение кода в основном потоке выполнения, который ожидает завершения задачи в многопоточной среде. Новый процесс отладки кода позволяет легко переключаться между релизным и режимом отладки, а также позволяет редактору работать с оптимизацией кода C# в релизном режиме по умолчанию. Присоединение C# отладчика также позволит вам включить режим отладки, если вы были в режиме релиза. Также улучшили поддержку сериализации полей универсальных типов, а интеграция с Visual Studio теперь является отдельным пакетом. И наконец, Burst Compiler 1.3 теперь доступен и добавляет собственные возможности отладки, среди других улучшений. 2D анимация получит повышение производительности, если вы устанавливаете пакеты Burst Compiler и Collections через менеджер пакетов. Это позволяет 2D-анимации использовать Burst компиляцию и утилиты низкоуровневых массивов для ускорения обработки деформации мешей спрайтов. Запекание меша Sprite Shape позволяет сохранять данные меша во время редактирования, чтобы их можно было перезагружать во время выполнения, избегая ненужной генерации в рантайме. 2D Physics включает в себя такие обновления, как Rigidbody2D XY Position Constraints, Per-frame Auto-Simulation для обновления физики с той же скоростью, что и цикл рендеринга, и Edge Collider2D. Можно скачать проект для тестирования всех возможностей 2D физики. Дефолтный 2D-шаблон был обновлен, и теперь он включает в себя все проверенные 2D-инструменты, предварительно скомпилированные, поэтому новые проекты загружаются быстрее. Подробнее про эти инструменты можно почитать на этой странице. Теперь вы можете использовать Camera Stacking для наложения вывода нескольких камер и создания единого комбинированного вывода, используя Universal Render Pipeline, когда вам нужно что-то, что визуализируется вне контекста основной камеры (например, версия вашего персонажа в меню паузы, или специальная настройка кабины в игре с мехом). Улучшен семплинг у GPU и CPU Lightmapper. Lightmapping теперь проще в целом, а ещё добавлена поддержка Lightmapped cookie. А благодаря Contributors/Receivers Scene View Mode, теперь вы можете видеть, какие объекты влияют на глобальное освещение в сцене. Lighting Setting Assets позволяют изменять настройки, которые используются несколькими сценами одновременно. Подробнее можно почитать на отдельной странице. Новая система ввода-вывода была представлена ещё в 2019 году, а с 2020 года она теперь имеет статус проверенной. Система была переписана с нуля, чтобы предложить унифицированное окно Input Action, где вы можете связывать действия с широким спектром современных пользовательских устройств отдельно от логики проекта. Для дополненной реальности (AR) в Unity 2020.1 AR Foundation теперь официально поддерживает Universal Render Pipeline, а также улучшена поддержка ARKit, ARCore, Magic Leap и Hololens. Также значительно сократили время, необходимое для подключения AR и VR к вашему проекту с помощью нового оптимизированного UI в настройках проекта. В 2020.1 добавлена поддержка дисплеев с высоким динамическим диапазоном (HDR) для редактора, что позволяет разработчикам с дисплеем с поддержкой HDR использовать расширенные диапазоны цветов и яркости при работе с контентом HDR без необходимости создавать билд для целевого устройства, чтобы увидеть результаты. Unity поддерживает разработку для следующего поколения платформ Xbox и PlayStation с момента выпуска 2019.3, и текущие релизы продолжают. О готовящихся нововведениях можно почитать на отдельной странице. Помните, что Preview пакеты ещё не проверены для использования с текущей версией Unity, поэтому вы должны использовать их только для исследований и создания прототипов, а не в продакшене. Поделиться мыслями и предложениями можно на форуме Betas & Experimental Features. Для получения дополнительной информации о состоянии Preview и жизненном цикле пакетов смотрите эту страницу. Рассмотрим кратко нескольких новых Preview пакетов, доступных в менеджере. Пакет Profile Analyzer позволяет одновременно сравнивать данные фрейма и маркера из набора фреймов Unity Profiler. Обладает улучшенной общей производительностью и более упрощённым пользовательским интерфейсом. Кроме того, Code Coverage помогает вам визуализировать, какие строки вашего кода тестируются. Если вы хотите узнать, что будет дальше в 3D-анимации, Kinematica теперь доступна в виде Preview пакета. Ещё одна новая фича — риггинг анимации, который включает в себя Bidirectional Motion Transfer. Cinemachine 2.6 входит в статус превью с новыми функциями, позволяющими улучшить поведение камеры в играх от третьего лица, сделать камеру более восприимчивой к окружающей среде, возможностью нацеливать и отслеживать два объекта с помощью одной камеры и многое другое. Для мобильных устройств добавлено ещё больше устройств и улучшен пользовательский интерфейс (UX) в симуляторе устройств, упрощая имитацию конкретных разрешений, а также предварительного просмотра специфичных настроек, таких как настройки качества, основанных на информации об устройстве, например ОЗУ и чипсете. Ray Tracing (Preview) теперь поддерживает анимацию с помощью компонента Skinned Mesh Renderer и Alembic Vertex Cache. Streaming Virtual Texturing (превью) позволит уменьшить использование памяти графическим процессором и время загрузки текстур, когда в вашей сцене много текстур высокого разрешения. Полный список изменений доступен в патчнотах, посетите отдельный раздел с обзором 2020.1: инструменты программиста, инструменты для художников, редактор и рабочие процесс команды, графика и поддержка платформы. Backend (node.js/ts), немного gamedev (unity)