Roles · XR Unity Developer · Mid-level

What a Mid-level } should know

37 core skills, 54 in total. Expectations per skill, and what changes at the next level.

This page lists what a Mid-level } 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.

37core skills
17additional skills
6skill areas
28%at Advanced or Expert
Assess myself as Mid-level Full role matrix

Core skills for a Mid-level

Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.

Programming Fundamentals · 8

Minimizes GC in VR: object pooling, NativeArray, struct-based data. Profiles through Memory Profiler. Manages Addressables memory for XR assets.

Applies optimal algorithms for Unity XR: spatial hashing for proximity detection, A* for VR pathfinding. Optimizes algorithms for VR frame budget.

Designs asynchronous XR systems: streaming loading, network requests, scene loading. Uses UniTask for performant asynchronicity. Manages CancellationToken.

Conducts code review of XR code. Configures static analysis. Refactors legacy Unity XR code. Creates XML documentation for XR API.

Data Structures Working

Applies specialized structures for XR: NativeArray for DOTS, spatial hash maps, priority queues for event systems. Minimizes GC through struct-based collections.

Design Patterns Working

Applies patterns for Unity XR: State Machine for VR states, Object Pool for XR objects, Command for undo. Selects appropriate patterns.

Multithreading Working

Uses Unity Jobs System for parallel XR computations. Works with NativeArray for thread-safe data. Optimizes XR workload through worker threads.

Designs OOP architecture for Unity XR systems: interface-based design, ScriptableObject patterns. Applies composition over inheritance for XR components.

Testing & QA · 2

Writes integration tests for Unity XR: scene loading, interaction flows, multiplayer sync. Configures test fixtures for XR. Tests on target devices.

Unit Testing Working

Tests XR systems: interaction logic, state machines, event handlers. Uses mocking to isolate XR dependencies. Configures test coverage.

Version Control & Collaboration · 2

Code Review Working

Conducts code review of Unity XR code: performance, architecture, XR best practices. Provides constructive feedback.

Git Advanced Working

Configures Git LFS tracking for Unity XR assets. Uses Unity Smart Merge for .unity and .prefab files. Optimizes .gitattributes for XR.

Game Development · 9

Profiles XR applications: CPU/GPU via Unity Profiler, Memory Profiler. Optimizes: batching, LOD, occlusion culling, texture compression. Uses OVR Metrics Tool for Quest.

Optimizes VR rendering in Unity: draw call batching, GPU Instancing, occlusion culling. Develops XR-specific shaders in Shader Graph. Configures foveated rendering. Optimizes overdraw.

Unity Engine Advanced

Designs Unity XR project architecture: Addressables, URP rendering, ScriptableObject-based architecture. Uses Unity Profiler for XR optimization. Develops custom Editor tools for XR.

Implements IK for VR avatars via Animation Rigging package. Creates procedural animation for VR hands. Optimizes skeletal animation for mobile VR. Works with Avatar Masks.

Implements spatial audio for VR through Unity Audio Spatializer / Meta XR Audio SDK. Configures HRTF for realistic 3D sound. Integrates FMOD/Wwise for advanced audio.

Implements multiplayer XR in Unity via Photon PUN/Fusion or Normcore. Synchronizes VR interactions: grab, physics, voice chat. Optimizes network bandwidth for mobile VR.

Game Physics Working

Optimizes physics for XR in Unity: Physics.OverlapSphere, layer-based collision, continuous collision detection. Uses ConfigurableJoint for VR tools. Implements physics-based VR hands.

Develops test scenarios for XR: interaction testing, performance testing, comfort testing. Uses Unity Test Framework for XR logic. Automates basic tests.

Designs VR/AR interfaces: diegetic UI, head-locked elements, spatial menus. Conducts usability testing. Implements accessibility features for XR. Considers ergonomics.

XR: AR/VR/MR · 12

Fluently applies linear algebra in Unity XR: dot/cross product for spatial queries, Matrix4x4 for transformations, Quaternion.Slerp for smooth rotations. Implements ray-plane intersection for AR placement.

Develops interactive AR content in Unity with physics and animations. Optimizes 3D assets for mobile AR (LOD, texture atlasing, mesh simplification). Uses Shader Graph for AR-specific shaders.

ARKit / ARCore Advanced

Uses advanced ARKit/ARCore features through Unity: image tracking (ARTrackedImageManager), face tracking, environment probes. Configures AR Occlusion Manager for realistic occlusion. Implements persistent AR anchors.

Implements advanced tracking in Unity: body tracking (ARHumanBodyManager), face mesh (ARFaceManager), environment mapping. Works with persistent world map for saving AR sessions. Configures scene reconstruction.

Optimizes Unity application for Quest: Fixed Foveated Rendering, Application SpaceWarp. Uses Meta Interaction SDK for hand tracking and Passthrough. Profiles via OVR Metrics Tool and Meta Quest Developer Hub.

OpenXR Standard Advanced

Configures OpenXR extensions in Unity: hand tracking, eye tracking, composition layers. Works with OpenXR Interaction Profiles for various controllers. Debugs OpenXR runtime issues through Unity OpenXR Features.

Implements spatial computing in Unity: mesh reconstruction (ARMeshManager), spatial mapping, occlusion rendering. Works with cloud anchors for shared AR experiences. Uses Scene Understanding for virtual-real integration.

Develops custom controller bindings through Input Action Assets. Implements finger tracking via Meta Hand Tracking SDK in Unity. Configures haptic patterns through XRController.SendHapticImpulse. Supports multiple controller types.

Designs complex VR interactions: physics-based grab with XR Interaction Toolkit, two-handed interactions, snap zones. Implements haptic feedback through XR Controller. Creates custom XRBaseInteractable.

Designs complex locomotion systems: continuous move with comfort vignette, climbing (ClimbProvider), flying. Implements dynamic comfort settings. Configures roomscale with Guardian/Boundary.

Builds asset import pipeline in Unity. Optimizes models: LOD Groups, Mesh Compression, Texture streaming. Works with Addressables for dynamic XR asset loading. Creates AssetPostprocessor scripts.

Develops visionOS applications through Unity PolySpatial: volumes, immersive spaces. Configures shaders for RealityKit rendering compatibility. Adapts VR content for mixed reality on Vision Pro.

Performance Engineering · 4

Optimizes end-to-end latency: render pipeline, input processing, physics. Uses Application SpaceWarp on Quest. Minimizes input-to-render delay.

CPU Profiling Working

Performs deep XR profiling: marker-based profiling, call stack analysis. Uses OVR Metrics Tool for Quest. Optimizes Update/FixedUpdate for VR.

Performs detailed memory analysis: memory snapshots, managed/unmanaged breakdown. Optimizes texture/mesh memory for Quest. Tracks Addressables memory.

Optimizes resources for Quest: texture compression (ASTC), mesh optimization, audio compression. Monitors thermal throttling. Manages asset memory lifecycle.

Additional skills

Not assessed by the team, but part of the self-assessment and the development plan.

API DocumentationAWSDockerGitHub Actions / GitLab CIKubernetes CoreNetwork FundamentalsOWASP & Application SecurityPostgreSQLPrometheus & GrafanaPrompt Engineering for CodeRedisREST API DesignSecure Coding PracticesStructured LoggingSystem Design FundamentalsChatGPT / ClaudeGitHub Copilot

What changes at Senior

54 skills get a higher expectation or become core when moving from Mid-level to Senior. The biggest jumps first.

See the Senior page →
Run this with your whole team
Self-assessment plus manager and peer reviews against the same matrix, gap analysis and next-level readiness for every engineer. Team Pro is free for 14 days; individual tools stay free forever.
Start a team trial (14 days free) Send to my manager

} in the open competency matrix: 54 skills across 5 levels. The matrix is free for individuals and stays free.