Маршрут рассчитан прежде всего на будущего Unity-разработчика игр: gameplay programmer или разработчика общего профиля. Он ориентирован на Unity 6.x. На момент подготовки актуальная ветка документации – Unity 6.5, но для реального проекта версию нужно выбирать с учетом стабильности, пакетов и требований команды.
При занятиях по 10-12 часов в неделю базовый маршрут займет примерно 6-9 месяцев. Это редакционная оценка: человек с опытом C# пройдет его быстрее, а обучение программированию с нуля потребует больше времени.

Этап 0. (2-3 дня) Определить цель и подготовить рабочую среду
Перед обучением нужно решить, к какой роли вы идете:
- gameplay programmer;
- Unreal Engine-разработчик общего профиля;
- технический дизайнер;
- сетевой программист;
- tools developer;
- Technical Artist.
Этот roadmap ориентирован на первые два направления.
Что сделать
- установить Unreal Engine;
- установить Visual Studio или Rider;
- создать тестовый проект от третьего лица;
- познакомиться с Epic Games Launcher и менеджером проектов;
- настроить резервное копирование;
- подключить систему контроля версий;
- создать отдельную папку для учебных проектов.
Unreal Editor поддерживает интеграцию с системами контроля версий. Perforce и SVN поддерживаются по умолчанию, также в движке есть Git-плагин. Контроль версий нужен не только команде: он позволяет сохранять историю изменений и откатывать неудачные решения.
Этап 1. (1-2 недели) Освоить Unity Editor
Задача этапа – научиться собирать игровые сцены и понимать структуру Unity-проекта без глубокого программирования.
Что изучить
- Scene View;
- Game View;
- Hierarchy;
- Inspector;
- Project;
- Console;
- Package Manager;
- GameObject;
- Component;
- Transform;
- Scenes;
- Prefabs;
- Materials;
- Lighting;
- Cameras;
- Audio Source;
- импорт моделей, текстур и звуков;
- создание и настройку сборки.
В Unity игровые сущности представлены объектами GameObject. Сам по себе GameObject почти ничего не делает: поведение и свойства появляются за счет подключенных компонентов. Сцены содержат часть или весь контент игры, а Prefab позволяет хранить настроенный объект как повторно используемый шаблон.
Что нужно уметь
- создать сцену;
- разместить объекты;
- настроить камеру;
- добавить освещение;
- назначить материалы;
- создать Prefab;
- сделать варианты одного объекта;
- импортировать ассеты;
- находить ошибки в Console;
- запускать сцену.
Практический проект
Собрать небольшой уровень:
- управляемая площадка или помещение;
- несколько препятствий;
- камера;
- освещение;
- интерактивный объект;
- точка начала и завершения;
- простое визуальное оформление.
Этап 2. (4-6 недель) Изучить основы C#
Unity использует C# для написания игровой логики. Не нужно сразу изучать весь язык и платформу .NET. Сначала необходима база, позволяющая понимать код и самостоятельно создавать простые системы. Unity предоставляет собственный C# API для работы с движком.
Что изучить
- переменные;
- типы данных;
- арифметические и логические операции;
- условия;
- циклы;
- методы;
- параметры и возвращаемые значения;
- массивы;
- списки;
- словари;
- классы и объекты;
- модификаторы доступа;
- наследование;
- интерфейсы;
- перечисления;
- структуры;
- исключения;
- делегаты и события;
- основы LINQ;
- основы асинхронности;
- правила оформления кода.
Что пока не требуется
- глубокое изучение reflection;
- сложная многопоточность;
- unsafe-код;
- написание собственных компиляторов;
- сложные алгоритмические задачи;
- продвинутая метапрограммная архитектура.
Практика
Написать несколько небольших консольных или Unity-скриптов:
- счетчик очков;
- система здоровья;
- простой инвентарь;
- таймер;
- обработка списка предметов;
- расчет урона;
- переключение состояний персонажа.
Этап 3. (4–5 недель) Освоить программирование внутри Unity
Теперь нужно связать знания C# с компонентной моделью движка.
Что изучить
- MonoBehaviour;
- жизненный цикл скрипта;
- Awake;
- OnEnable;
- Start;
- Update;
- FixedUpdate;
- LateUpdate;
- OnDisable;
- OnDestroy;
- SerializeField;
- ссылки на компоненты;
- GetComponent;
- создание объектов;
- уничтожение объектов;
- корутины;
- события;
- взаимодействие между компонентами;
- слои и теги.
Unity вызывает функции жизненного цикла в определенной последовательности. Понимание разницы между инициализацией, обычным обновлением, физическим обновлением и поздним обновлением необходимо для предсказуемого поведения игровых систем.
Физика
Освоить:
- Collider;
- Trigger;
- Rigidbody;
- силу и скорость;
- гравитацию;
- столкновения;
- физические материалы;
- Raycast;
- Layer Mask;
- различия между физическим и ручным перемещением.
Добавление Rigidbody передает движение объекта физической системе Unity. Для движущихся объектов с Collider обычно также требуется Rigidbody – обычный либо кинематический в зависимости от задачи.
Управление
Для новых проектов стоит изучать Input System, а не строить обучение только вокруг старого Input Manager. Новый пакет отделяет игровое действие от конкретной клавиши или устройства и поддерживает разные схемы управления.
Изучить:
- Input Actions;
- Action Maps;
- клавиатуру и мышь;
- геймпад;
- переназначение кнопок;
- переключение схем управления.
Какие механики собрать
- движение персонажа;
- прыжок;
- взаимодействие;
- подбор предметов;
- получение урона;
- шкалу здоровья;
- открывающуюся дверь;
- контрольную точку;
- перезапуск уровня.
Практический проект №1
Сделать небольшую игру:
- один уровень;
- одна центральная механика;
- препятствия или противник;
- здоровье или очки;
- победа и поражение;
- перезапуск;
- готовая сборка.
Этап 4. (3-4 недели) Научиться строить архитектуру проекта
На начальном уровне проекты часто состоят из нескольких огромных MonoBehaviour, которые напрямую обращаются друг к другу. Это работает в прототипе, но быстро становится трудно поддерживать.
Что изучить
- разделение данных, логики и отображения;
- композицию вместо чрезмерного наследования;
- интерфейсы;
- события;
- зависимости между системами;
- конечные автоматы;
- ScriptableObject;
- Prefab Variants;
- отдельные сцены;
- сервисы и менеджеры;
- Assembly Definitions;
- сериализацию;
- сохранение данных.
ScriptableObject
ScriptableObject подходит для хранения данных как отдельных ассетов проекта. В отличие от MonoBehaviour, его нельзя прикрепить к GameObject. Его можно использовать для характеристик оружия, предметов, врагов, настроек уровней и других повторно используемых данных.
Что нужно уметь
- разделить управление, здоровье и оружие на отдельные компоненты;
- создать общий интерфейс взаимодействия;
- убрать постоянный поиск объектов из Update;
- настроить предметы через ScriptableObject;
- использовать события для обновления интерфейса;
- хранить конфигурацию отдельно от runtime-состояния;
- разделить меню, игровой уровень и служебные сцены.
Практический проект
Переработать первую игру:
- Вынести здоровье в отдельный компонент.
- Создать интерфейс получения урона.
- Перевести параметры предметов в ScriptableObject.
- Убрать жесткие связи между UI и персонажем.
- Разделить меню и уровень.
- Подготовить возможность добавления нового оружия или противника без переписывания старой логики.
Этап 5. (6-8 недель) Освоить основные игровые системы Unity
Не нужно изучать все возможности движка подряд. Системы следует добавлять под конкретный проект.
Интерфейс
В Unity есть две основные системы для создания интерфейсов:
- UI Toolkit – современная система для runtime-интерфейсов и инструментов редактора;
- uGUI – система на основе GameObject и компонентов.
Официальная документация отдельно сравнивает их возможности. Для начала желательно понимать хотя бы одну систему уверенно, а вторую – на базовом уровне.
Изучить:
- главное меню;
- HUD;
- шкалу здоровья;
- кнопки;
- панели;
- адаптацию под разные разрешения;
- обновление интерфейса через события;
- меню настроек;
- паузу.
Анимация
Изучить:
- Animation Clips;
- Animator;
- Animator Controller;
- состояния;
- переходы;
- параметры;
- Blend Trees;
- Animation Events;
- Avatar;
- humanoid-анимацию;
- Root Motion;
- слои анимации.
Система анимации Unity поддерживает клипы, смешивание, слои, состояния и управление воспроизведением через Animator.
Искусственный интеллект
Изучить:
- NavMesh;
- NavMesh Agent;
- NavMesh Surface;
- препятствия;
- поиск пути;
- патрулирование;
- преследование;
- атаку;
- конечный автомат противника;
- обнаружение игрока через Raycast и зоны видимости.
Пакет AI Navigation позволяет строить NavMesh в редакторе и во время выполнения, использовать динамические препятствия и соединения между областями навигации.
Камера
Освоить:
- слежение за персонажем;
- смену ракурсов;
- ограничения движения;
- тряску;
- приближение;
- переходы между камерами;
- основы Cinemachine.
Звук
Освоить:
- Audio Source;
- Audio Listener;
- Audio Mixer;
- музыку;
- эффекты;
- пространственный звук;
- изменение громкости;
- сохранение настроек.
Сцены и загрузка
Изучить:
- Scene Manager;
- загрузку сцен;
- асинхронную загрузку;
- additive scenes;
- экран загрузки;
- переход между уровнями;
- сохранение объектов между сценами.
Unity позволяет разделять проект на несколько сцен и загружать их совместно или независимо.
Сохранение
Освоить:
- JSON;
- сериализацию;
- сохранение настроек;
- сохранение прогресса;
- идентификаторы объектов;
- версии формата сохранения.
Практический проект №2
Сделать вертикальный срез игры:
- управляемый персонаж;
- полноценная механика;
- несколько типов объектов;
- интерфейс;
- противник;
- анимация;
- звук;
- сохранение;
- меню;
- начало и завершение уровня.
Этап 6. (4-6 недель) Научиться работать как разработчик
Контроль версий
Освоить:
- Git или Unity Version Control;
- ветки;
- коммиты;
- pull requests;
- откат изменений;
- .gitignore;
- Git LFS;
- разрешение конфликтов;
- работу с .meta-файлами;
- правила хранения больших ассетов.
Unity может сохранять сцены в текстовом формате, что упрощает работу с системами контроля версий и слияние отдельных изменений по сравнению с полностью бинарными файлами.
Отладка
Научиться использовать:
- Console;
- breakpoints в IDE;
- stack trace;
- Debug Inspector;
- логирование;
- gizmos;
- визуализацию Raycast;
- обработку null;
- анализ исключений.
Тестирование
Изучить:
- Edit Mode Tests;
- Play Mode Tests;
- тестирование чистой игровой логики;
- проверку систем сохранения;
- тестирование расчетов;
- базовое интеграционное тестирование.
Unity Test Framework позволяет запускать тесты в Edit Mode и Play Mode.
Профилирование
Освоить:
- Unity Profiler;
- CPU Usage;
- GPU Usage;
- Rendering;
- Memory;
- Physics;
- Garbage Collector;
- Frame Debugger;
- Memory Profiler;
- поиск аллокаций;
- object pooling;
- оптимизацию Update;
- работу с целевым устройством.
Проверять производительность нужно не только в редакторе, но и на целевой платформе. Unity позволяет подключать Profiler к Development Build и собирать данные непосредственно на устройстве.
Сборка проекта
Освоить:
- Build Profiles;
- Development Build;
- целевую платформу;
- Player Settings;
- сцены в сборке;
- разрешение и графические настройки;
- создание Windows-, Android- или Web-сборки;
- проверку игры на другом устройстве.
Build Profiles позволяют хранить отдельные конфигурации сборки для разных платформ.
Этап 7. Выбрать специализацию
| Направление | Основной фокус |
|---|---|
| Gameplay Programmer | Управление персонажем, оружие, способности, взаимодействия, инвентарь, игровые состояния, архитектура gameplay-систем |
| 2D-разработчик | Sprites, Tilemap, 2D Physics, 2D Animation, Pixel Perfect, камеры, платформеры и top-down-игры |
| Mobile Developer | Android и iOS, сенсорное управление, разные разрешения, оптимизация памяти, энергопотребление, слабые устройства, монетизация, аналитика, публикация в магазинах |
| Multiplayer Developer | Клиент-серверная архитектура, сетевые объекты, RPC, синхронизация состояния, лобби, сессии, задержка, авторитет сервера, защита от рассинхронизации |
| Tools Developer | Editor Scripts, Custom Inspector, Property Drawer, Editor Window, UI Toolkit, автоматизация, импорт ассетов, инструменты для дизайнеров |
| Technical Artist | Shader Graph, материалы, освещение, VFX Graph, оптимизация графики, профилирование, пайплайн ассетов, взаимодействие художников и программистов |
| VR/AR Developer | XR Interaction Toolkit, управление контроллерами, взаимодействие с объектами, производительность, комфорт пользователя, особенности устройств |
Этап 8. Собрать портфолио
Для начала достаточно трех сильных проектов.
Проект 1. Механический прототип
Одна хорошо реализованная система:
- управление;
- стрельба;
- инвентарь;
- AI;
- головоломка;
- диалоги;
- процедурная генерация;
- система способностей.
Важно показать код, архитектуру и работу механики.
Проект 2. Законченная маленькая игра
В ней должны быть:
- начало;
- игровой цикл;
- победа или поражение;
- интерфейс;
- звук;
- настройки;
- рабочая сборка.
Лучше небольшая законченная игра, чем большой недоделанный проект.
Проект 3. Специализированная или командная работа
Например:
- мобильная игра;
- сетевой прототип;
- сложная система AI;
- инструмент редактора;
- проект с геймджема;
- командная 2D- или 3D-игра.
Для каждого проекта подготовить: короткое видео, скриншоты, рабочую сборку, репозиторий, если код можно открыть; описание задачи, перечень технологий, объяснение своей роли, описание сложностей и решений, несколько показательных фрагментов кода, инструкцию по запуску.
Краткая карта освоения Unity
Этап | Что изучить | Практический результат |
0 | Unity Hub, IDE, Git, пайплайн | Настроенный проект |
1 | Editor, GameObject, Components, Prefabs | Интерактивная сцена |
2 | Основы C# | Простые игровые классы |
3 | MonoBehaviour, Input, Physics | Первая маленькая игра |
4 | Архитектура, ScriptableObject, события | Расширяемый проект |
5 | UI, AI, анимация, звук, сохранения | Вертикальный срез |
6 | Git, тесты, Profiler, Build Profiles | Стабильная сборка |
7 | Выбранная специализация | Профильный проект |
8 | Портфолио | 2-3 законченные работы |
Что не нужно изучать в самом начале
До уверенного освоения базовых систем стоит отложить:
- DOTS и ECS;
- сложный multiplayer;
- собственный Scriptable Render Pipeline;
- глубокое изучение шейдерного кода;
- большие открытые миры;
- сложную процедурную генерацию;
- собственный игровой движок;
- MMO;
- масштабную RPG;
- сложную экономику live-service;
- продвинутую монетизацию;
- Addressables для первого маленького прототипа.
Addressables полезны для асинхронной загрузки и управления зависимостями локального или удаленного контента, но новичку они нужны только после освоения обычной работы с ассетами и сценами.
Критерии готовности к Junior Unity Developer
Можно начинать откликаться, когда вы способны:
- самостоятельно создать Unity-проект;
- уверенно работать с C#;
- объяснить GameObject и компонентную модель;
- реализовать игровую механику без полного видеоурока;
- использовать Prefabs и ScriptableObject;
- работать с Input System;
- настроить физику и коллизии;
- создать интерфейс;
- добавить анимацию и простого AI;
- загрузить и сохранить прогресс;
- пользоваться системой контроля версий;
- находить ошибки через Console и debugger;
- профилировать проект;
- создать рабочую сборку;
- показать минимум две законченные работы;
- объяснить архитектуру и собственный вклад.
Краткий вывод
Unity подходит тем, кто хочет создавать 2D- и 3D-игры, мобильные проекты, VR/AR-приложения или инструменты для разработчиков. Начать можно без опыта в геймдеве, но одного знания интерфейса движка недостаточно: будущему Unity-разработчику нужны C#, понимание компонентной архитектуры, работа с физикой, интерфейсом, анимацией, системой ввода и сборкой проекта.
Не стоит пытаться сразу освоить весь движок. Эффективнее двигаться последовательно:
- Познакомиться с Unity Editor.
- Изучить основы C#.
- Создать первую игровую механику.
- Собрать небольшую законченную игру.
- Разобраться в архитектуре проекта.
- Освоить основные игровые системы.
- Научиться пользоваться Git, отладчиком и Profiler.
- Выбрать специализацию.
- Подготовить портфолио и начать откликаться на вакансии.
Главный показатель прогресса – не количество просмотренных уроков, а проекты, которые вы можете собрать и объяснить самостоятельно. Для первой работы важнее показать две-три законченные работы с понятной архитектурой и вашим личным вкладом, чем большой, но недоделанный проект.
Ответы на часто задаваемые вопросы
При занятиях по 10-12 часов в неделю базовый путь до первых проектов может занять около 6-9 месяцев. За это время можно изучить C#, освоить основные возможности Unity и собрать портфолио начального уровня.
Срок зависит от стартовой подготовки. Человек, который уже знает программирование, может пройти маршрут быстрее. При обучении C# с нуля времени потребуется больше.
Начать знакомство с редактором и собрать простую сцену можно без программирования. Но для профессии Unity-разработчика потребуется C#.
Существуют визуальные инструменты и готовые ассеты, однако без понимания кода будет сложно:
- создавать собственные игровые системы;
- исправлять ошибки;
- поддерживать архитектуру проекта;
- проходить технические собеседования;
- работать в команде разработчиков.
Поэтому C# нужно изучать параллельно с Unity.
Оптимальный вариант – совмещать оба направления.
Сначала стоит освоить базовые конструкции C#:
- переменные;
- условия;
- циклы;
- методы;
- классы;
- коллекции.
После этого знания нужно сразу применять в Unity: писать движение персонажа, здоровье, подбор предметов и другие небольшие механики. Полностью изучать язык до открытия движка не требуется.
Для изучения программирования принципиальной разницы нет: и в 2D-, и в 3D-проектах используются C#, компоненты, события и похожие архитектурные подходы.
2D может быть проще по части графики, камеры и физики. 3D позволяет раньше познакомиться с освещением, моделями, анимацией и пространственным управлением.
Выбирать стоит по интересу. Учебный проект должен быть достаточно простым, чтобы его можно было завершить.
Unity часто выбирают для:
- мобильных игр;
- 2D-проектов;
- небольших и средних 3D-игр;
- VR/AR;
- кроссплатформенной разработки.
Unreal Engine часто используют для высокодетализированных 3D-проектов, крупных игр, визуализации и задач, где важны C++ и продвинутые графические возможности.
Для новичка важнее не искать универсально лучший движок, а выбрать один и довести на нем несколько проектов до конца.
Для первых проектов достаточно школьной математики и понимания базовых операций.
По мере развития потребуются:
- координаты;
- векторы;
- расстояния;
- углы;
- интерполяция;
- основы тригонометрии;
- преобразования объектов.
Глубина зависит от специализации. Для сложной физики, графики, шейдеров и процедурной генерации математика нужна сильнее, чем для интерфейсов или простой игровой логики.
Для небольших 2D- и 3D-проектов не требуется игровой компьютер высокого уровня. Важнее достаточный объем оперативной памяти, SSD и поддержка современной версии редактора.
Мощное оборудование понадобится для:
- тяжелых 3D-сцен;
- сложного освещения;
- большого количества ассетов;
- VR-разработки;
- проектов на HDRP;
- длительной сборки под несколько платформ.
Начинать лучше с небольших сцен и оптимизированных ассетов
Первый проект должен быть маленьким и законченным. Подойдут:
- простая аркада;
- платформер с одним уровнем;
- top-down shooter;
- небольшая головоломка;
- игра с подбором предметов и достижением цели.
В проекте должны быть управление, основная механика, победа или поражение, интерфейс и рабочая сборка. Не стоит начинать с MMO, большой RPG или открытого мира.
















































































