~2 мин чтения

Зачем веб-разработчику Unity

Что общего и что нового в Unity по сравнению с фронтенд- и бэкенд-разработкой.

Если вы пишете на TypeScript/React в браузере и в Node на сервере, переход в Unity ощущается одновременно знакомым и чужим. С одной стороны — управляемая среда выполнения (CLR/Mono/IL2CPP вместо V8), строгая типизация (C# вместо TS), компонентная архитектура (GameObject + Components вместо React), циклы перерисовки и события. С другой — настоящая 3D-сцена, физика, рендеринг через GPU и асинхронный ассет-конвейер.

Эта энциклопедия — практическое введение в разработку 3D-игр в Unity 6 для тех, кому проще объяснять через знакомые веб-абстракции.

Что вы умеете и что это даст вам в Unity

Веб
  • Декларативная композиция через React-компоненты
  • Реактивное обновление: state → render
  • Иерархия DOM, родитель и потомки
  • CSS transforms (translate, rotate, scale)
  • requestAnimationFrame для анимаций
  • addEventListener для ввода
  • Vite/Webpack для сборки ассетов
Unity
  • Композиция GameObject через Components (включая ваши MonoBehaviour)
  • Императивный Update() или event-driven через подписки на UnityEvents
  • Иерархия сцены: Transform с родителем и детьми
  • transform.position / rotation / localScale в 3D-пространстве
  • Game Loop в движке: Update, LateUpdate, FixedUpdate
  • Input System (новый) или классический Input (legacy)
  • Сборка → Player через IL2CPP/Mono, ассеты — через AssetBundles или Addressables

Чего нет в браузере и почему это интересно

  1. Главный поток с предсказуемым 60+ FPS. В вебе вы пишете “к 60 FPS”, но это редко жёсткое требование. В Unity всё подчинено фрейм-таймингу: 16.6 мс на кадр для 60 FPS, 11.1 мс для 90 FPS (VR), 8.3 мс для 120 FPS.
  2. GPU-программирование рядом. Шейдеры (HLSL или Shader Graph), материалы, проходы рендеринга — это ваш повседневный инструментарий, а не экзотика.
  3. Физика как часть движка. Rigidbody, столкновения, raycast — встроены, а не сторонняя библиотека.
  4. Ассет-конвейер, который импортирует FBX, текстуры, аудио и автоматически генерирует мета-данные.
  5. Платформ много. Один проект — это Windows, macOS, Linux, Android, iOS, WebGL, консоли. С разными профилями производительности и ограничениями.
Совет: думайте кадрами, а не запросами

Главная ментальная перестройка: вместо “функция отрабатывает за N миллисекунд, и это нормально” думайте — “Update() выполняется 60 раз в секунду, и каждый вызов добавляется в бюджет кадра”. Аллокации в Update() — главный враг плавности.

Куда дальше

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