Понимает управление памятью в Unity XR: GC, reference counting, object lifecycle. Избегает аллокаций в Update. Знает влияние GC spikes на VR frame rate.
Роли · XR Unity Developer · Junior
Что должен уметь Junior }
37 ключевых навыков, всего 54. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Тестирование и QA, Контроль версий и коллаборация.
Ключевые навыки для Junior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 8
Знает основные алгоритмы и структуры данных. Понимает O-нотацию. Применяет простые алгоритмы для XR-задач в Unity: поиск ближайшего объекта, сортировка.
Использует корутины и async/await в Unity для XR. Загружает ассеты асинхронно (Addressables.LoadAssetAsync). Понимает event-driven модель.
Следует code style guide Unity XR-проекта. Пишет понятный документированный C#-код. Использует линтеры (Roslyn Analyzers). Следует Unity naming conventions.
Понимает threading в Unity XR: main thread, render thread, worker threads. Использует async/await и корутины для non-blocking XR. Избегает thread-unsafe вызовов Unity API.
Знает базовые паттерны и применяет в Unity XR: Singleton (AudioManager), Observer (events), Factory. Использует Unity-специфичные паттерны (MonoBehaviour, ScriptableObject).
Применяет ООП в C# для Unity XR: классы, наследование, интерфейсы, полиморфизм. Понимает SOLID. Создаёт компонентную архитектуру для XR-объектов.
Использует стандартные структуры данных C# для XR: List, Dictionary, Queue, Stack. Понимает выбор структуры для конкретной XR-задачи.
Тестирование и QA · 2
Понимает интеграционное тестирование XR-систем. Тестирует взаимодействие XR-компонентов. Использует Play Mode tests в Unity.
Пишет unit-тесты для Unity XR-логики через Unity Test Framework (NUnit). Тестирует helper-функции и utilities. Понимает AAA-паттерн.
Контроль версий и коллаборация · 2
Участвует в code review как ревьюи. Исправляет замечания. Изучает подходы коллег к Unity XR.
Работает с Git и Git LFS для Unity XR-проектов. Настраивает .gitignore для Unity. Разрешает merge conflicts в сценах.
Game Development · 9
Использует Unity Profiler для базового профилирования XR. Понимает VR frame budget (11мс для 90FPS). Знает основные причины просадок: GC, draw calls, overdraw.
Настраивает URP для VR-рендеринга в Unity. Работает с materials и Shader Graph. Настраивает lighting (baked/realtime) для XR-сцен. Понимает Single Pass Instanced rendering.
Работает с Unity Editor для XR-разработки: сцены, GameObjects, компоненты, Prefabs. Пишет MonoBehaviour-скрипты на C# для XR-логики. Настраивает XR Plugin Management и Input System.
Работает с Unity Animator для XR: Animator Controller, Animation Clips, Blend Trees. Настраивает базовые анимации для VR-персонажей. Использует Animation Events.
Настраивает аудио в Unity XR: AudioSource с Spatial Blend, Audio Mixer. Понимает 3D-звук и его важность для VR immersion. Использует Audio Listener на VR-камере.
Реализует базовые сетевые XR-опыты с использованием Photon или Unity Netcode. Понимает синхронизацию аватаров, пространственную привязку для общих сцен и проблемы задержки в VR/AR мультиплеере.
Использует Unity Physics для XR: Rigidbody, Colliders, Physics Layers. Настраивает физические взаимодействия для VR grab/throw. Понимает FixedUpdate и physics timestep для VR.
Тестирует XR-приложения на целевых устройствах (Quest, PCVR). Выполняет ручное тестирование VR-взаимодействий и comfort. Документирует VR-специфичные баги.
Понимает принципы XR UX: comfort, spatial UI, accessibility. Реализует базовый VR-UI через Unity XR UI Toolkit. Следует платформенным guidelines (Meta, Apple).
XR: AR/VR/MR · 12
Использует базовую 3D-математику в Unity: Vector3, Quaternion, Transform. Понимает системы координат и трансформации. Работает с Mathf для расчётов в XR-сценах.
Создаёт AR-контент в Unity: размещает 3D-модели, настраивает материалы и анимации для AR. Использует AR Foundation Samples как основу. Работает с Prefab-системой для AR-объектов.
Работает с ARFoundation в Unity для базового AR-функционала. Настраивает AR-сессии, plane detection и hit testing. Размещает 3D-объекты на обнаруженных поверхностях через ARRaycastManager.
Использует ARFoundation для безмаркерного трекинга: plane detection, point clouds. Настраивает ARPlaneManager и ARPointCloudManager. Работает с world tracking для размещения контента.
Разрабатывает Unity-приложения для Meta Quest. Настраивает OVR/Meta XR SDK в Unity-проекте. Собирает APK и деплоит на Quest. Тестирует через Meta Quest Link и standalone.
Использует OpenXR через Unity XR Plugin Management. Настраивает OpenXR feature groups для целевых устройств. Понимает роль OpenXR как кросс-платформенного стандарта.
Понимает пространственные вычисления в Unity: raycasting, пространственное картирование и детекция плоскостей. Реализует базовые взаимодействия через отслеживание рук/глаз с XR Interaction Toolkit. Тестирует на целевом XR-оборудовании.
Настраивает VR-контроллеры через Unity Input System / XR Interaction Toolkit. Маппит кнопки Quest Touch / PCVR контроллеров. Использует ActionBasedController для привязки действий. Реализует базовый hand tracking.
Реализует базовые VR-взаимодействия в Unity через XR Interaction Toolkit: XRGrabInteractable, XRRayInteractor, XRDirectInteractor. Настраивает world-space UI Canvas для VR. Работает с XR Socket Interactor.
Реализует teleportation и snap turn через XR Interaction Toolkit (TeleportationProvider, SnapTurnProvider). Настраивает locomotion areas и anchors. Понимает причины VR motion sickness.
Импортирует 3D-модели в Unity (FBX, glTF, OBJ). Настраивает import settings: scale, materials, animations. Работает с Unity Asset Store для XR-ассетов. Понимает mesh, UV, normals.
Знакомится с visionOS-разработкой через Unity PolySpatial. Изучает концепции shared space, volumes, immersive spaces. Создаёт простые пространственные интерфейсы в Unity для Vision Pro.
Performance Engineering · 4
Понимает критичность latency для VR (motion-to-photon < 20мс). Знает источники latency. Измеряет frame time в Unity Profiler.
Использует Unity Profiler для CPU-анализа XR-приложения. Находит hotspots. Понимает frame budget (11мс для 90FPS VR).
Использует Unity Memory Profiler для отслеживания memory usage. Находит очевидные утечки. Понимает heap/stack.
Понимает ресурсные ограничения мобильного VR (Quest): RAM, VRAM, thermal. Следует basic guidelines по ресурсам. Мониторит resource usage.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Middle
52 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.
- 3D Asset Pipeline: Осведомлённость → Применение
- 3D Math: Применение → Продвинутый
- Алгоритмы и сложность: Осведомлённость → Применение
- Асинхронное программирование: Осведомлённость → Применение
- Интеграционное тестирование: Осведомлённость → Применение
- Качество кода и рефакторинг: Осведомлённость → Применение
- Многопоточное программирование: Осведомлённость → Применение
- Паттерны проектирования: Осведомлённость → Применение
- Принципы ООП и SOLID: Осведомлённость → Применение
- Структуры данных: Осведомлённость → Применение
} в открытой матрице компетенций: 54 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.