С Октября 2024 по Июль 2025 я вёл курс по архитектуре. 1-2 раза в неделю, по полтора-два часа. 40 человек. Перед этим полгода собирал и прорабатывал материал.
Во время ведения курса я пообещал ребятам дополнительное занятие — глубокое погружение во внутреннее устройство Unity.
Не "как пользоваться API", а как оно работает изнутри, на уровне исходников.
Первым таким занятием стала система компиляции: Bee, Tundra, Domain Reload. Где не просто разобрал теорию — написал программу, которая компилирует скрипты без самой Unity 🛞
Занятие было записано и выложено в закрытую группу вместе со всеми материалами: исходники, текстовые разборы — всё, что было нарыто в процессе подготовки. Всегда под рукой, чтобы в любой момент вернуться и вспомнить детали.
Меня очень удивило и порадовало что 10 человек из группы попросили провести ещё одно такое занятие.
Тему выбрали сами: Asset Bundles.
Я подумал:
Вдруг кому-то ещё в блоге будет интересно разобраться в том, как на самом деле устроен этот механизм?
И решил что хочу попробовать такой формат активности в блоге 😊
🔸Что будем разбирать
Никакой воды и общей информации из документации.
Мы полезем в исходники и по кирпичикам разберём:
▫️ Формат архива UnityFS — побайтово: заголовок, таблица блоков, директория файлов
▫️ Сериализация и TypeTree — как Unity сериализует объекты внутри бандла, что такое PPtr
▫️ Компрессия — LZ4 vs LZMA на уровне кода: почему LZ4 даёт random access, а LZMA нет
▫️ Пайплайн загрузки — полный путь от вызова LoadFromFile до готового AssetBundle
▫️ Пайплайн выгрузки — batch-удаление, освобождение хэндлов, очистка хранилища
▫️ Платформозависимость — почему бандл для Android не загрузится на iOS
▫️ Загрузка ассетов — как LoadAsset строит граф зависимостей между бандлами
▫️ Патчинг и рекомпрессия — hot swap бандлов без потери C# ссылок
🔸Формат
— 28 февраля, 14:00 МСК
— Онлайн в Zoom
— После занятия в закрытую Telegram группу будут выложены: запись, текстовые материалы и исходный код программ-примеров
— Доступ к группе и материалам остаётся навсегда
— Вопросы можно задать в любой момент в приватном чате
🔻Это не пересказ документации. Это разбор того, что происходит под капотом — на уровне, который не найти в гайдах и туториалах.
Тут была ссылка на покупку 😬
Занятие прошло по расписанию без накладок.
Отзыв одного из участников, Lead >10 лет опыта:
Самый большой вау-эффект был именно от осознания того, что работа с любыми ассетами в Unity устроена похожим образом и AssetBundle не исключение а дополнение для этого. Плюс само по себе разбор формата файлов раскрывает уйму возможностей: можно писать свои патчеры или шифраторы/дешифраторы.
Думаю что в будущем часть материала появится в публичном доступе, следите за обновлениями 🫡
#курс@UniArchitect
