При розробці VR-додатків на Unity стандартний редактор не надає інструментів для контролю специфічних метрик: Draw Call budget per-eye, валідації ассетів під вимоги Oculus VRC, перевірки полігонажу з урахуванням Multiview. Кожен раз відкривати Frame Debugger і вручну рахувати — втрата часу. Наша команда з досвідом понад 5 років у VR-розробці створює кастомні Editor Tools, які автоматизують ці процеси і прискорюють пайплайн у кілька разів. Замовте розробку інструментів під ваш проєкт — ми оцінимо задачу за 1–2 дні.
Проблеми стандартних інструментів для VR
VR має жорсткі FPS-бюджети (72–90 кадрів/с) і специфічні вимоги до рендерингу: multivew, тайловий рендеринг, фіксований FOV. Стандартний Inspector не показує кількість трикутників per-eye, а LOD Group розраховує перемикання у відсотках екрану, не враховуючи IPD та роздільну здатність HMD. Саме тут кастомні інструменти дають приріст швидкості.
Які інструменти реально потрібні VR-команді
Найзатребуваніший клас — Asset Validator. VRC Guideline для Oculus вимагає: меш персонажа не більше 70 000 трикутників, текстури не вище 2048x2048, всі матеріали на стандартних шейдерах без Tessellation. Перевіряти це руками на кожному ассеті неможливо при команді 5+ осіб. Editor Window з AssetDatabase.FindAssets() + AssetImporter сканує всю папку за секунди і показує порушників списком зі швидкою навігацією.
Другий інструмент — Scene Complexity Dashboard. Прямо в Scene View показує поточний Draw Call count, кількість Shadow Casters, статистику по матеріалах. Реалізується через EditorWindow + SceneView.duringSceneGui делегат + UnityEditor.Handles для оверлеїв. Оновлюється при будь-якій зміні ієрархії через EditorApplication.hierarchyChanged.
Третій — LOD Preview Tool. Стандартний LOD Group Inspector показує перемикання за відсотком екрану, але в VR LOD distance залежить від IPD, FOV та роздільної здатності HMD. Кастомний інструмент перераховує LOD transitions у реальні метри для цільового пристрою (Quest 3: 96°, 2064x2208 per eye) і показує, що гравець реально побачить на дистанції 1, 3, 10 метрів.
Як кастомні інструменти прискорюють рев'ю ассетів?
З практики: у проєкті архітектурної VR-візуалізації команда витрачала 40 хвилин на кожне рев'ю ассетів від 3D-художників — перевірка полігонажу, UV-розгортки, налаштувань імпорту. Після впровадження Asset Validator + AssetPostprocessor це скоротилося до 5 хвилин: інструмент одразу підсвічує проблеми і застосовує стандартні налаштування автоматично. Це у 8 разів швидше — порівняння, яке підтверджує ефективність автоматизації.
Згідно з Oculus VR Best Practices Guide, коректне налаштування імпорту ассетів критичне для продуктивності. Кастомні інструменти гарантують дотримання цих рекомендацій без ручних перевірок.
Технічні деталі реалізації
Unity Editor API дає кілька рівнів кастомізації:
- EditorWindow — незалежне вікно з будь-яким GUI. Для складних UI з таблицями та фільтрами використовуємо UI Toolkit (рекомендований з Unity 2022 LTS) — він з віртуалізацією не лагає на списках з 500+ ассетів.
- Custom Inspector через
[CustomEditor(typeof(MyComponent))]— розширює стандартний Inspector: додаємо кнопки «Validate FOV Settings», «Check IPD Range», «Preview at Quest 3 Resolution». - SceneView Tools через
EditorTool(з Unity 2019.1) — кастомний інструмент для «VR Scale Reference»: відображає фігуру людини 1.75 м поруч з будь-яким об'єктом для оцінки масштабу. - AssetPostprocessor — хук на імпорт ассетів: автоматично застосовує потрібні налаштування до FBX.
Для шейдерного пайплайну робимо ShaderGraph Validator: перевіряє сумісність нод з URP Mobile (немає Screen Space, Tessellation, GrabPass-аналогів). Реалізується через ShaderGraph.GraphData API.
Приклад коду Asset Validator (EditorWindow)
public class AssetValidator : EditorWindow { [MenuItem("Tools/Asset Validator")] public static void ShowWindow() => GetWindow<AssetValidator>(); private void OnGUI() { if (GUILayout.Button("Validate All Models")) { string[] guids = AssetDatabase.FindAssets("t:Model"); foreach (string guid in guids) { string path = AssetDatabase.GUIDToAssetPath(guid); ModelImporter importer = AssetImporter.GetAtPath(path) as ModelImporter; if (importer != null) { // Check poly count, texture size, etc. } } } } } Порівняння стандартних і кастомних інструментів
| Характеристика | Стандартний редактор | Кастомний інструмент |
|---|---|---|
| Перевірка полігонажу per-eye | Тільки через Frame Debugger | Миттєвий Asset Validator |
| Моніторинг Draw Call | Немає вбудованого | Scene Complexity Dashboard |
| LOD дистанції під HMD | Відсоток екрану | Реальні метри |
| Автоматичне застосування налаштувань | Немає | AssetPostprocessor |
Що входить у розробку кастомного інструмента?
В рамках роботи ми надаємо:
- Вихідний код інструментів у вигляді Unity Package з асемблерами, документацією та прикладами використання.
- Інтеграцію з вашою системою контролю версій та інструкції з оновлення через Package Manager.
- Навчання команди роботі з інструментами та підтримку на етапі впровадження.
- Адаптацію під версію Unity та специфіку проєкту (Oculus, SteamVR, Pico, HTC Vive).
Етапи роботи
- Збір вимог. Інтерв'ю з командою, виявлення найболючіших ручних перевірок.
- Прототип. Швидка EditorWindow для ключової задачі — зворотний зв'язок за 1–2 дні.
- Повна реалізація. UI Toolkit, інтеграція з Asset Database, налаштування AssetPostprocessor, документація.
- Пакетизація. Упаковка в Unity Package для версіонування та поширення.
| Тип інструмента | Орієнтовні терміни |
|---|---|
| Простий Asset Validator (EditorWindow) | 2–5 днів |
| Scene Complexity Dashboard з оверлеями | 1–2 тижні |
| Повний набір (validator + dashboard + LOD preview) | 3–5 тижнів |
Наші компетенції
Понад 5 років комерційної розробки VR-проєктів на Unity (Quest, SteamVR, Pico). Десятки реалізованих кастомних інструментів для студій та продакшенів. Використовуємо сучасні версії Unity (2022 LTS і новіше), UI Toolkit, профілювання через Profiler та RenderDoc. Гарантуємо, що інструменти покривають вимоги Oculus VRC і проходять рев'ю стор.
Зв'яжіться з нами для оцінки вашого проєкту — ми підготуємо пропозицію під ключ за 1–2 дні. Отримайте консультацію з автоматизації вашого пайплайну.






