GenXR-Bench: Benchmarking Coding Agents for Interactive XR Development
Organizations: University of California, Los Angeles · Google XR Labs · Carnegie Mellon University · University of Oxford ·
Abstract
Coding agents are rapidly advancing from single-file generation to long-horizon repository-scale engineering, yet the evaluation of their capabilities to author interactive extended reality (XR) applications remains an open challenge. Unlike traditional software, XR applications operate within dynamic 3D physical environments where runtime robustness depends jointly on continuous user motion, spatial input, and environmental sensing. We introduce GenXR-Bench, the first benchmark for the end-to-end evaluation of coding agents in XR software development. GenXR-Bench contains 112 expert-authored tasks spanning 24 feature implementations, 21 bug repairs, and 67 application generation tasks. Held-out tests combine scripted and adaptive interactions with programmatic and visual assertions to evaluate core functionality and runtime behavior. GenXR-Bench's testing suite achieves 96.5% accuracy against blinded expert judgments of 124 candidate applications executed on consumer XR hardware. Evaluating 10 models on GenXR-Bench, we find that the strongest configuration achieves only 50.9% overall Pass@1. Failure analysis identifies recurring misunderstandings in asynchronous sensor lifecycles, physical grounding, and embodied interaction semantics. GenXR-Bench establishes a reproducible testbed for evaluating coding agents in the interactive and physically situated conditions of spatial computing.
Figures & tables
| Domain | Benchmark | Primary tasks | ER | IT | VT | Evaluation |
| SWE | SWE-bench | Repository repair | ✗ | ✗ | ✗ | Repository tests |
| ( Jimenez et al., 2024 ) | ||||||
| SWE-bench Multimodal | Repository repair | ✗ | ✓ | ✓ | Repository tests; UI-event checks; pixel-level visual tests | |
| ( Yang et al., 2025 ) | ||||||
| Web | Interaction2Code | Interactive page reconstruction | ✗ | ✓ | ✓ | Interaction tests; visual metrics; human assessment |
| ( Xiao et al., 2025 ) |
| App Source | Accuracy | Precision | Recall | Fleiss’ | Flakiness |
|---|---|---|---|---|---|
| gemini-3.5-flash | |||||
| gemini-3.7-flash | |||||
| Overall |
| Model | Pass@1 (%) | Design | Efficiency | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Overall | Repair | Feature | App | Score | T/E | Turns | Tokens (M) | Cost (\downarrow$ | |
| claude-opus-5 | 50.9 | 85.7 | 29.2 | 47.8 | 3.86 | 0.44 | 0 74.1 | 0 6.17 | 5.74 |
| deepseek-v4.1-flash | 46.4 | 95.2 | 20.8 | 40.3 | 3.81 | 0.22 | 114.9 | 14.77 | 0.71 |
| gpt-5.6-sol | 44.6 | 95.2 | 29.2 | 34.3 | 4.03 | 0.81 | 0 26.4 | 0 1.74 | 2.95 |
| gemini-3.8-flash | 42.9 | 90.5 | 25.0 | 34.3 | 3.71 | 0.89 | 127.0 | 11.91 | 1.73 |
| gemini-3.7-flash | 41.1 | 90.5 | 29.2 | 29.9 | 3.89 | 0.96 | 0 69.6 | 0 4.14 | 0.84 |
Appendix figures & tables21 assets
Supplementary material from the paper’s appendix.
Appendix
| Category | Function | Description |
|---|---|---|
| Viewer | navigateTo(target) | Moves the viewer toward a target while respecting the room navigation mesh. |
| teleportTo(target) | Places the viewer near a target, with optional target-facing and ground-snapping behavior. | |
| move(motion) | Translates the viewer relative to its current view direction. | |
| rotate(rotation) | Rotates the viewer by relative pitch, yaw, and roll angles. | |
| Hand | moveHand(hand, motion) | Translates one hand relative to the viewer and supports direct or ray-based dragging. |
| teleportHand(hand, target) | Places a selected hand or hand anchor directly at a target. |
| Domain | Subdomain | Examples |
| Healthcare | Specialized Medical Education | Trauma Triage and Emergency Care |
| Surgical and Invasive Trajectory Planning | ||
| Laparoscopic and Endoscopic Navigation | ||
| Physical Diagnosis and Auscultation | ||
| Pathology and Geriatric Training (Empathy-Building) | ||
| Intensive Care Unit (ICU) Portability & Monitoring |
| Category | Heuristic | Description |
|---|---|---|
| Task alignment | Prompt alignment | Fidelity of the implementation to the user’s prompt specification, required interactions, and requested feature behaviors. |
| Visuals | Visual quality | Aesthetic execution, lighting, materials, mesh rendering, and visual polish of 3D virtual elements. |
| Spatial anchoring | The virtual content remains rigidly attached to its designated physical or spatial location without drifting, sliding, jittering, or clipping during camera movements or interactions. | |
| Scale consistency | Virtual objects and UI elements are rendered at realistic, proportional scales relative to each other and the surrounding virtual environment. | |
| Controls | Input responsiveness | The system accurately translates user inputs, pointer actions, and pinch or ray-casting controls into intuitive spatial manipulation without desynchronization. |
| Realism | Physically realistic behavior | The virtual entities, physics rules, collision bounds, and interactive state transitions behave logically and consistently within the context of the physical environment. |
| Heuristic | Human–Human | VLM–Human | ||||
|---|---|---|---|---|---|---|
| (%) | (%) | (%) | (%) | |||
| Prompt Alignment | 27.90% | 63.80% | 0.64 | 32.30% | 66.90% | 1.20 |
| Visual Quality | 26.30% | 70.20% | 0.64 | 42.90% | 82.00% | 0.83 |
| Spatial Anchoring | 27.90% | 57.40% | 0.50 | 32.30% | 66.20% | 1.22 |
| Scale Consistency | 29.50% | 75.30% | 0.58 | 39.10% | 81.20% | 0.92 |
| Input Responsiveness | 32.00% | 62.60% | 0.66 | 32.30% | 60.90% | 1.28 |
| Model | Input | Depth | Media | Percept | UI | Mean |
|---|---|---|---|---|---|---|
| (10) | (8) | (7) | (12) | (8) | (45) | |
| claude-opus-5 [medium] | 70.0 | 62.5 | 42.9 | 58.3 | 37.5 | 55.6 |
| deepseek-v4.1-flash [xhigh] | 70.0 | 50.0 | 57.1 | 50.0 | 50.0 | 55.6 |
| gpt-5.6-sol [xhigh] | 80.0 | 62.5 | 42.9 | 58.3 | 50.0 | 60.0 |
| gemini-3.8-flash [high] | 70.0 | 50.0 | 71.4 | 41.7 | 50.0 | 55.6 |
| gemini-3.7-flash [high] | 60.0 | 50.0 | 57.1 | 66.7 | 50.0 | 57.8 |
| Model | DL | Des | Edu | Ent | Health | Mean |
| (6) | (11) | (20) | (21) | (9) | (67) | |
| claude-opus-5 [medium] | 50.0 | 45.5 | 45.0 | 42.9 | 66.7 | 47.8 |
| deepseek-v4.1-flash [xhigh] | 50.0 | 45.5 | 30.0 | 42.9 | 44.4 | 40.3 |
| gpt-5.6-sol [xhigh] | 16.7 | 36.4 | 35.0 | 38.1 | 33.3 | 34.3 |
| gemini-3.8-flash [high] | 33.3 | 27.3 | 30.0 | 42.9 | 33.3 | 34.3 |
| deepseek-v4-pro-0813 [xhigh] | 16.7 | 45.5 | 30.0 | 33.3 | 44.4 | 34.3 |
| Model | Align | Visual | Anchor | Scale | Input | Physics |
|---|---|---|---|---|---|---|
| claude-opus-5 [medium] | 3.42 | 3.84 | 4.29 | 4.16 | 3.56 | 3.44 |
| deepseek-v4.1-flash [xhigh] | 3.50 | 3.86 | 4.14 | 4.11 | 3.53 | 3.39 |
| gpt-5.6-sol [xhigh] | 3.53 | 4.19 | 4.44 | 4.41 | 3.59 | 3.59 |
| gemini-3.8-flash [high] | 3.24 | 3.73 | 4.27 | 4.08 | 3.35 | 3.18 |
| gemini-3.7-flash [high] | 3.48 | 3.87 | 4.37 | 4.23 | 3.60 | 3.44 |
| deepseek-v4-pro-0813 [xhigh] | 3.00 | 3.48 | 3.87 | 3.96 | 3.13 | 3.09 |
| Model | Calls | Actions | Testing | ||||
|---|---|---|---|---|---|---|---|
| Expl. | Edit | E/E | Unit | Runt. | T/E | ||
| claude-opus-5 [medium] | 0 58.9 | 0 55.2 | 23.1 | 2.39 | 0 7.30 | 2.83 | 0.44 |
| deepseek-v4.1-flash [xhigh] | 109.3 | 101.3 | 47.6 | 2.13 | 0 9.70 | 0.68 | 0.22 |
| gpt-5.6-sol [xhigh] | 0 58.9 | 0 43.6 | 14.2 | 3.07 | 10.75 | 0.75 | 0.81 |
| gemini-3.8-flash [high] | 107.7 | 0 68.0 | 12.7 | 5.36 | 11.22 | 0.12 | 0.89 |
| gemini-3.7-flash [high] | 0 68.6 | 0 45.6 | 0 8.9 | 5.11 | 0 8.58 | 0.00 | 0.96 |
| Failure Type | Failures (%) |
| Spawned virtual objects that clipped into real walls, floors, or furniture | 19.8 |
| Lost room-mesh or plane updates as the user walked through the space | 10.7 |
| Assumed that the room was prescanned instead of waiting for the user to scan it | 0 9.3 |
| Failed to align an object flat against a real-world floor or table | 0 4.6 |
| Ignored vertical walls and ceilings by assuming that only flat floors exist | 0 4.6 |
| Floated virtual objects in front of real walls because occlusion masks were missing | 0 4.4 |
| Failure Type | Failures (%) |
| Confused left- and right-hand roles | 34.5 |
| Treated physical touch as a flat-screen click without push or depth | 20.3 |
| Attached UI directly to the face or head, causing severe motion sickness | 16.4 |
| Placed items outside a comfortable reach or field of view | 12.8 |
| Made laser pointer targets too small or obstructed, causing ray-casting misses | 11.5 |
| Displayed flat text labels or UI backward or edge-on, making them invisible | 0 7.7 |
| Failure Type | Failures (%) |
| Lost object positions inside moving parent groups because of world-space confusion | 64.4 |
| Started the app before 3D models or the headset finished loading because of a race condition | 44.9 |
| Used the wrong real-world scale because of a centimeter-to-meter conversion error | 30.6 |
| Implemented broken reset or undo operations that left the scene stuck after the first action | 26.6 |
| Failed to snap objects because of mismatched local anchor coordinates | 0 8.3 |
| Caused physics instability or allowed items to fall through the floor | 0 5.7 |
Code Generation Benchmarks
Code generation benchmarks measure how well AI models produce code across programming tasks, languages, and real-world settings.
See all 152 papers