Программа и содержание
Курс для тебя, если
01
Уверенно пишешь на C#
и знаешь основные паттерны проектирования
02
Делал свои проекты на Unity
и хочешь собирать их так, чтобы они не разваливались по мере роста и обновлений
03
Работаешь джуном в студии
и хочешь понимать, как устроен продакшн-проект целиком — от каркаса до сборки
04
Хочешь разобраться в ECS
на реальной большой игре, а не на демо-примерах
05
Прошёл Unity Adventure
мой курс для начинающих, а это новая ступень
ПРОГРАММА ПО БЛОКАМ
Одна игра от пустой папки до сборки. Каждый блок добавляет в проект новую систему — к концу курса они складываются в законченную игру.
БЛОК 0. Знакомство с курсом
Знакомство с курсом: показываю финальную игру и весь маршрут, первый взгляд на ECS — чтобы с первого дня было понятно, куда идём.
БЛОК 1. Каркас проекта и DI
Примерная длительность: 1 неделя
Начинаем с пустой папки и закладываем фундамент, на который дальше наслаивается вся игра.
Проект на Unity 6 и URP, правильная раскладка папок репозитория и его настройка.
Структура папок проекта и сборки: отделяем переносимый фундамент от кода игры.
Зачем нужно внедрение зависимостей и как устроен VContainer: регистрации, время жизни, скоупы.
Точка входа в игру и запуск из любой сцены.
Скоупы сцен и первые сервисы: переходы, конфиги, кошелёк, прогресс игрока.
БЛОК 2. Асинхронность и переходы между сценами
Примерная длительность: 1 неделя
Загрузка сцен, конфигов и ассетов, анимации, ожидания — асинхронность в игре повсюду. Разбираемся с UniTask и строим на нём всю асинхронность проекта.
Почему UniTask, а не Task и не корутины, и как async/await работает внутри.
Виды ожиданий, исключения и опасность async void.
Отмена: токены, связанные токены и почему отмена — не ошибка.
Переводим сервисы проекта на асинхронный вариант: конфиги, точку входа, загрузку сцен.
Сервис переходов между сценами: аргументы сцены, буферная сцена, защита от двойного перехода.
Пайплайн шагов: старт приложения и подготовка сцены как последовательность шагов с отображением загрузки.
БЛОК 3. Система сохранений
Примерная длительность: 1 неделя
Собираем систему сохранений с нуля и сразу в асинхронном виде. Это большой сервис, на котором хорошо видно всё разобранное в первых блоках.
Из чего состоит система: сериализация в JSON, хранилище, провайдеры данных.
Сбор данных по всему проекту.
Подключение сейвов к готовым сервисам, не ломая их логики.
Резервная копия, версия данных и миграции, чтобы обновление игры не ломало сейвы.
БЛОК 4. Архитектура UI
Примерная длительность: 1 неделя
Окна, меню, попапы, HUD — в любой игре это тонна интерфейса. Выстраиваем подход, при котором UI пишется по понятным шаблонам, отделён от логики и не превращается в кашу.
MVP и почему он хорошо ложится на игровой интерфейс.
Презентеры: жизненный цикл, отмена, вложенные презентеры; фабрики и пул вью.
Корневой UI, скоупы и координаторы экранов.
Простая реактивность: свойства и коллекции, чтобы интерфейс сам обновлялся при изменении данных.
Анимации на PrimeTween и их связь с асинхронным кодом.
Сервис попапов, шторка загрузки с реальным прогрессом, главное меню.
БЛОК 5. Контент: Addressables, локализация, облако
Примерная длительность: 1 неделя
Конфиги и баланс в игре нужно быстро обновлять, ассеты и игровые ресурсы — заменять без нового билда, а память устройства при этом держать под контролем.
Зачем Addressables и чем плох Resources; группы и стратегия их раскладки.
Упаковка сцен, UI-префабов, конфигов, атласов и шрифтов; загрузка и выгрузка по меткам, контроль памяти.
Переводим загрузку ассетов, сцен и конфигов проекта на Addressables и проверяем в реальных сборках.
Unity Localization: сервис локализации, локализованный интерфейс, выбор языка с сохранением.
Remote Catalog: обновляем контент выпущенной игры без нового билда — на Yandex Cloud или Cloudflare R2.
БЛОК 6. ECS: основы и стартовая инфраструктура
Примерная длительность: 2 недели
ECS требует перестройки мышления. Разбираемся системно, чтобы геймплей раскладывался на маленькие независимые системы и не превращался в кашу из компонентов.
Что такое ECS и чем он отличается от ООП: мир, сущности, компоненты и системы.
Как запустить ECS-мир внутри DI-архитектуры и управлять порядком фич.
Структура фич и что лучше оставить на ООП.
Мост между ECS и Unity: эффекты, геймобъекты на сцене, анимации.
Конфиги и фабрика персонажей, спавн и волны врагов.
Связь ECS с интерфейсом: HUD волн.
БЛОК 7. Способности и игровой цикл
Примерная длительность: 3 недели
Центральная часть курса — полный игровой цикл и большая data-driven система способностей на ECS. Новые способности собираются из готовых блоков прямо в конфиге, и весь геймплей настраивается через данные.
Статы и модификаторы: здоровье, скорость, дальность атаки и т. п.
Эффекты и статусы: урон, лечение, яд, замедление, оглушение.
Таргетинг: цели по радиусу и сектору, союзники и враги, прицеливание.
Игровые правила: триггеры, условия и реакции на события боя.
Активные и пассивные способности, снаряды; собираем огненный шар, молнию, рикошет, вампиризм и т. д.
Бой целиком: UI боя, прокачка внутри забега, визуальные эффекты и прокачка game feel.
БЛОК 8. Мета-прогрессия
Примерная длительность: 1 неделя
Один забег — ещё не вся игра. Строим мету: награды за бой копятся, тратятся в меню, и следующий забег становится сильнее.
Кошелёк и прогресс дорастaют до меты: валюты и цены.
Награды по итогам забега и их сохранение.
Связь геймплея с метой через данные — без прямой зависимости.
Магазин мета-способностей: покупка и экипировка, сложный попап на MVP-каркасе.
Меню выбора уровней и экипированные способности в бою.
БЛОК 9. CI/CD
Примерная длительность: 1 неделя
Ручная сборка блокирует и того, кто собирает билд, и всю коммуникацию в команде. Поэтому настраиваем конвейер один раз и пользуемся им на каждом шаге.
Настраиваем тестирование.
Билд-скрипты: сборка проекта из кода.
Сборка через Unity CLI, без открытия редактора.
Сборка Addressables по профилю вместе с билдом.
Конвейер: пушишь в репозиторий — тесты, билд и контент собираются сами, команде приходит уведомление.
БЛОК 10. ИИ-агент в проекте
Формат: живые занятия
Никаких секретных техник вайбкодинга. Разбираемся, как подготовить проект, чтобы ИИ-агент писал код по установленным архитектурным правилам: когда архитектура готова, ИИ помогает, а не мусорит. Причём конкретная модель агента не важна: Claude, Codex, Kimi и другие.
Подготовка проекта для агента: правила кода, структура проекта, расположение контента.
Как агент добавляет новые фичи, следуя архитектуре проекта.
Как обсуждать с агентом решен