Understands memory management in Unity XR: GC, reference counting, object lifecycle. Avoids allocations in Update. Knows the impact of GC spikes on VR frame rate.
Roles · XR Unity Developer · Junior
What a Junior } should know
37 core skills, 54 in total. Expectations per skill, and what changes at the next level.
This page lists what a Junior } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Testing & QA, Version Control & Collaboration.
Core skills for a Junior
Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.
Programming Fundamentals · 8
Knows basic algorithms and data structures. Understands Big-O notation. Applies simple algorithms for XR tasks in Unity: nearest object search, sorting.
Uses coroutines and async/await in Unity for XR. Loads assets asynchronously (Addressables.LoadAssetAsync). Understands event-driven model.
Follows Unity XR project code style guide. Writes clear documented C# code. Uses linters (Roslyn Analyzers). Follows Unity naming conventions.
Uses standard C# data structures for XR: List, Dictionary, Queue, Stack. Understands data structure selection for specific XR tasks.
Knows basic patterns and applies them in Unity XR: Singleton (AudioManager), Observer (events), Factory. Uses Unity-specific patterns (MonoBehaviour, ScriptableObject).
Understands threading in Unity XR: main thread, render thread, worker threads. Uses async/await and coroutines for non-blocking XR. Avoids thread-unsafe Unity API calls.
Applies OOP in C# for Unity XR: classes, inheritance, interfaces, polymorphism. Understands SOLID. Creates component-based architecture for XR objects.
Testing & QA · 2
Understands integration testing of XR systems. Tests interaction of XR components. Uses Play Mode tests in Unity.
Writes unit tests for Unity XR logic via Unity Test Framework (NUnit). Tests helper functions and utilities. Understands AAA pattern.
Version Control & Collaboration · 2
Participates in code review as a reviewee. Fixes review comments. Learns colleagues' approaches to Unity XR.
Works with Git and Git LFS for Unity XR projects. Configures .gitignore for Unity. Resolves merge conflicts in scenes.
Game Development · 9
Uses Unity Profiler for basic XR profiling. Understands VR frame budget (11ms for 90FPS). Knows main causes of frame drops: GC, draw calls, overdraw.
Configures URP for VR rendering in Unity. Works with materials and Shader Graph. Configures lighting (baked/realtime) for XR scenes. Understands Single Pass Instanced rendering.
Works with Unity Editor for XR development: scenes, GameObjects, components, Prefabs. Writes MonoBehaviour scripts in C# for XR logic. Configures XR Plugin Management and Input System.
Works with Unity Animator for XR: Animator Controller, Animation Clips, Blend Trees. Configures basic animations for VR characters. Uses Animation Events.
Configures audio in Unity XR: AudioSource with Spatial Blend, Audio Mixer. Understands 3D sound and its importance for VR immersion. Uses Audio Listener on VR camera.
Implements basic networked XR experiences using Photon or Unity Netcode. Understands avatar synchronization, spatial anchoring for shared scenes, and latency challenges specific to VR/AR multiplayer.
Uses Unity Physics for XR: Rigidbody, Colliders, Physics Layers. Configures physical interactions for VR grab/throw. Understands FixedUpdate and physics timestep for VR.
Tests XR applications on target devices (Quest, PCVR). Performs manual testing of VR interactions and comfort. Documents VR-specific bugs.
Understands XR UX principles: comfort, spatial UI, accessibility. Implements basic VR UI via Unity XR UI Toolkit. Follows platform guidelines (Meta, Apple).
XR: AR/VR/MR · 12
Uses basic 3D math in Unity: Vector3, Quaternion, Transform. Understands coordinate systems and transformations. Works with Mathf for calculations in XR scenes.
Creates AR content in Unity: places 3D models, configures materials and animations for AR. Uses AR Foundation Samples as a base. Works with Prefab system for AR objects.
Works with ARFoundation in Unity for basic AR functionality. Configures AR sessions, plane detection and hit testing. Places 3D objects on detected surfaces via ARRaycastManager.
Uses ARFoundation for markerless tracking: plane detection, point clouds. Configures ARPlaneManager and ARPointCloudManager. Works with world tracking for content placement.
Develops Unity applications for Meta Quest. Configures OVR/Meta XR SDK in Unity project. Builds APK and deploys to Quest. Tests via Meta Quest Link and standalone.
Uses OpenXR through Unity XR Plugin Management. Configures OpenXR feature groups for target devices. Understands the role of OpenXR as a cross-platform standard.
Understands spatial computing in Unity: raycasting, spatial mapping, and plane detection. Implements basic hand/eye tracking interactions using XR Interaction Toolkit. Tests on target XR hardware.
Configures VR controllers via Unity Input System / XR Interaction Toolkit. Maps buttons for Quest Touch / PCVR controllers. Uses ActionBasedController for action binding. Implements basic hand tracking.
Implements basic VR interactions in Unity via XR Interaction Toolkit: XRGrabInteractable, XRRayInteractor, XRDirectInteractor. Configures world-space UI Canvas for VR. Works with XR Socket Interactor.
Implements teleportation and snap turn via XR Interaction Toolkit (TeleportationProvider, SnapTurnProvider). Configures locomotion areas and anchors. Understands causes of VR motion sickness.
Imports 3D models into Unity (FBX, glTF, OBJ). Configures import settings: scale, materials, animations. Works with Unity Asset Store for XR assets. Understands mesh, UV, normals.
Gets started with visionOS development through Unity PolySpatial. Studies concepts of shared space, volumes, immersive spaces. Creates simple spatial interfaces in Unity for Vision Pro.
Performance Engineering · 4
Understands the criticality of latency for VR (motion-to-photon < 20ms). Knows latency sources. Measures frame time in Unity Profiler.
Uses Unity Profiler for CPU analysis of XR applications. Finds hotspots. Understands frame budget (11ms for 90FPS VR).
Uses Unity Memory Profiler to track memory usage. Finds obvious leaks. Understands heap/stack.
Understands resource constraints of mobile VR (Quest): RAM, VRAM, thermal. Follows basic resource guidelines. Monitors resource usage.
Additional skills
Not assessed by the team, but part of the self-assessment and the development plan.
What changes at Mid-level
52 skills get a higher expectation or become core when moving from Junior to Mid-level. The biggest jumps first.
- 3D Asset Pipeline: Awareness → Working
- 3D Math: Linear Algebra, Quaternions: Working → Advanced
- Algorithms & Complexity: Awareness → Working
- Apple visionOS Development: Awareness → Working
- AR Content Creation: Working → Advanced
- ARKit / ARCore: Working → Advanced
- Async Programming: Awareness → Working
- Code Quality & Refactoring: Awareness → Working
- Code Review: Awareness → Working
- CPU Profiling: Awareness → Working
} in the open competency matrix: 54 skills across 5 levels. The matrix is free for individuals and stays free.