Unity URP Photorealistic Rendering

This project was an experiment to see how much rendering quality could be pushed on Unity’s Universal Rendering Pipeline (URP) to achieve photorealistic rendering. The goal was to target high-end visuals that are usually associated with high-end PC hardware and have it running on devices with considerably lower horsepower. Here are the videos of the project running on a mobile device and the Oculus Quest:

The project used custom PBR materials with lightmaps baked externally – Unity at the time of making this project did not support IES profiles for lights. Optimization for performance was considered from the start of the project. Here is some technical information about the project:

  • Runs on Oculus Quest at a sustained 72 FPS with fixed foveated rendering with 4X MSAA

  • Runs at a sustained 60 FPS with 8X MSAA on a Snapdragon 845 rendering at 1080p

  • URP using forward rendering path, linear space

  • Lightmaps baked externally using V-Ray

  • Optimized PBR materials for all surfaces

  • LODs for all high-poly objects in the scene

  • Low-resolution cubemaps used as reflection probes

  • Carefully selected texture resolution sizes and compression format for optimized memory utilization

  • Occlusion culling zones setup all around the scene to only render zones that the camera is in