~3 мин чтения

Стек Unity и его экосистема

Версии Unity, языки, рендер-пайплайны, ключевые инструменты и пакеты.

Версии Unity

Unity выпускается в нескольких ветках одновременно. Хронология ключевых релизов 6.x:

  • Unity 6.0 (октябрь 2024) — первый мажорный релиз новой схемы (вместо 2021.x / 2022.x / 2023.x).
  • Unity 6.1 (март 2025) — public WebGPU backend, Deferred+ для URP, GPU Resident Drawer улучшения, DOTS production-ready.
  • Unity 6.2 (август 2025) — UI Toolkit World Space experimental, Unity AI интеграции, новые Awaitable примитивы.
  • Unity 6.3 LTS (релиз 5 декабря 2025) — текущий рекомендованный LTS, поддержка до декабря 2027 (Enterprise / Industry-лицензии — до декабря 2028). Здесь legacy Input Manager явно помечен deprecated; Box2D v3 для 2D-физики; Hybrid 2D/3D Scenes.
  • В Tech Stream сейчас Unity 6.4 / 6.5 — постепенное превращение DOTS-пакетов в core engine modules; experimental CoreCLR ожидается в 6.7, полная замена Mono — в 6.8 (конец 2026).
Заметка

Для нового проекта в 2026 году стандартный выбор — Unity 6.3 LTS. Если поддерживаете старый проект: 2022.3 LTS закрыт в июне 2025; 2021.3 LTS снят с поддержки ещё в 2024. Версии до 6.0 не получают функциональных апдейтов.

Языки

  • C# — единственный first-class язык скриптинга. UnityScript (диалект JS) и Boo были удалены ещё в 2017–2018 годах. Unity 6 поддерживает C# 9 синтаксис при компиляции в .NET Standard 2.1, а с определёнными настройками — и более новые фичи.
  • HLSL — для написания шейдеров под Built-in RP, URP и HDRP. Альтернатива — визуальный редактор Shader Graph.
  • C++ — только если вы пишете нативный плагин (DLL/dylib/so).

Runtime: Mono, IL2CPP и грядущий CoreCLR

C# код компилируется в IL (CIL), а потом выполняется одним из двух способов:

  • Mono — JIT-компиляция IL на устройстве пользователя. Используется в редакторе и для быстрых итераций. Поддерживается не на всех платформах.
  • IL2CPP — AOT-компиляция IL в C++, потом — в нативный бинарь. Обязательна для iOS, WebGL, большинства консолей. Запуск быстрее, итерационная компиляция дольше.
CoreCLR на горизонте

Unity объявила миграцию на .NET CoreCLR как третий runtime. По уточнённому roadmap: experimental CoreCLR desktop player — в Unity 6.7; полная замена scripting runtime (Mono → CoreCLR) — в 6.8 (конец 2026). CoreCLR быстрее Mono на серверах и нативных платформах, поддерживает современный .NET. Серьёзное изменение для долгосрочных проектов — следите за релиз-нотами 6.6+.

Что это значит на практике

Под IL2CPP не работает динамическая генерация кода (Reflection.Emit, динамические лямбды через Expression.Compile()). Если используете рефлексию активно — добавляйте [Preserve] атрибуты, чтобы линкер не выкинул нужные типы.

Рендер-пайплайны

Unity поддерживает три рендер-пайплайна, и выбор делается на старте проекта:

ПайплайнНазначениеКогда выбирать
Built-in RPСтарый универсальныйПоддержка legacy-проектов, не для нового кода
URP (Universal RP)Кросс-платформа, мобильные, средняя графикаДефолт для большинства новых проектов
HDRP (High Definition RP)ПК и консоли, фотореализмВысококачественные ПК/консольные проекты

URP и HDRP — это пакеты Scriptable Render Pipeline (SRP), их можно конфигурировать через ассеты качества и Volume-систему. Переключаться между ними в течение проекта дорого: материалы и шейдеры несовместимы. Решайте до того, как начнёте.

Ключевые пакеты Package Manager

Unity Package Manager (UPM) — это npm для Unity. Большинство инструментов идёт через него:

  • Input System — современная замена legacy Input класса (legacy явно deprecated в Unity 6.3).
  • Cinemachine — мощные камеры (follow, free-look, dolly tracks). UPM-пакет, предустановлен в шаблонах Unity 6.
  • TextMeshPro — текст с SDF-шрифтами (вместо устаревшего UI.Text).
  • Addressables — асинхронная загрузка ассетов вместо Resources.Load.
  • Animation Rigging — процедурная анимация скелета (IK, aim constraints).
  • Burst + Job System + Collections — высокопроизводительные системы.
  • Entities (DOTS/ECS) — data-oriented стек для тысяч сущностей. Production-ready с Unity 6.0 (Entities 1.0); в Unity 6.4 пакет становится core engine package — без отдельной установки.
  • Unity Behavior — официальная graph-based behavior trees система для AI (с Unity 6.1).
  • Sentis — встроенный ML inference (заменил Barracuda).
  • Netcode for GameObjects 2.x — мультиплеер (поддерживает Distributed Authority с Unity Cloud).

Инструменты вокруг проекта

  • Unity Hub — менеджер версий редактора и проектов (как nvm для Node).
  • JetBrains Rider или Visual Studio — основные IDE. VS Code тоже работает, но Rider даёт глубокую интеграцию (отладка, навигация по компонентам).
  • Git + Git LFS для бинарных ассетов. Не забудьте .gitignore для Library/, Temp/, Logs/, UserSettings/.
  • Plastic SCM (Unity Version Control) — встроенный VCS, удобный для бинарных файлов и больших проектов; альтернатива Git LFS.

В следующей главе — главный материал: всё про 3D-разработку.