See all lab pages How can we achieve high-fidelity graphics on standalone VR hardware without sacrificing performance? hero

How can we achieve high-fidelity graphics on standalone VR hardware without sacrificing performance?

Details

‘Sponza’ is a dedicated “Performance Workbench” built using Unity 6 (URP) to analyze the features & constraints of Tile-Based Rendering found in standalone VR headsets. Our goal was to define strict art budgets by stress-testing how heavy rendering features interact with mobile GPU bottlenecks—specifically memory bandwidth, fill rate, and real-time lighting costs. Using the industry-standard Sponza scene as our base content, we layered on complex VR rendering features to measure their cumulative effect on performance.

Application SpaceWarp & Foveated Rendering

These were the two features we were most excited to implement & validate, as they offer significant performance jumps. We implemented Application SpaceWarp (AppSW) to synthesize frames for smoother motion, and Fixed Foveated Rendering (FFR) for variable rate shading in the peripheral vision. To further manage the critical issues of Fill Rate and Overdraw, we established strict guidelines on transparency and screen-space effects.

Lighting & Shadows

In early development, we identified that lighting and shadows were the primary bottleneck for mobile GPUs. We addressed this by utilizing baked lighting for static assets and light probes for dynamic elements, while strictly budgeting real-time lights. To push this further, we developed a custom Light LOD system. This tool dynamically scales shadow distance and intensity based on the player’s position, effectively reducing the number of real-time lights, shadow casters, and draw calls.

Debug System

To validate these features, we built a custom VR Debug Menu that enables us to toggle any feature in the rendering stack at runtime. This allowed us to A/B test combinations of AppSW, Foveated Rendering, and Post-Processing passes against the content itself to isolate specific performance impacts and artifacts.

Overall

We are very happy with our learnings and impressed by the ability to maintain a stable 90fps target while retaining atmospheric visuals. By combining foundational optimizations (batching draw calls, minimizing shader complexity, and managing real-time lights) with next-gen features like AppSW and Variable Rate Shading, we have created a scalable framework for future VR production.

Future Development

For the next phase of this test bed, we plan to evaluate additional features such as Vulkan Subpasses, custom Variable Rate Shading, On-Tile Post-Processing (new in Unity 6.3), and various methods of GPU instancing.