Программа и содержание

Курс для тебя, если

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 и другие.

Подготовка проекта для агента: правила кода, структура проекта, расположение контента.

Как агент добавляет новые фичи, следуя архитектуре проекта.

Как обсуждать с агентом решен