VR games need to achieve high, stable performance to look good and play comfortably. Optimization is no easy task, especially with the limited resources of mobile hardware like the Snapdragon 835 processor in the Oculus Quest. But there’s a handful of tools and methods that can set you up for success from the start. In nine minutes, this crash course offers up an indie-dev focused overview of optimizing VR games built in Unity for mobile hardware like Oculus Quest.
Lucas Rizzotto is an independent developer behind a handful of immersive applications including Where Thoughts Go, which was awarded ‘Best Experience’ in the 2018 Unity Awards. He recently published an engaging video which overviews the basics of VR optimization in the engine, specifically focused on getting VR games to run well on mobile hardware like Oculus Quest. The video is focused toward novice VR developers who are working in Unity.
Rizzotto’s video covers 14 points about specific tools and techniques which help games run smoothly on low-end hardware. One of the main points is that optimization is not something that should be done at the end of the project, but should actually happen throughout development. The most important step, Rizzotto says, comes before development even begins—choosing an art style that’s distinctive but not photorealistic.
Here’s the high level from the video, including links from Rizzotto which offer a deeper look into various tools and techniques.
- Don’t make photorealistic games
- Avoid using post-processing [guide]
- Adjust [Unity specific] project settings
- Toggle GPU instancing on materials
- Combine your meshes [suggested tool]
- Consider using Google Seurat [video guide, binaries for Seurat]
- Use Amplify Imposters tool [suggested tool]
- Use static lightning [video guide]
- Set up occlusion culling [video guide]
- Be ready to remove detail to stay performant
- Use More Effective Coroutines tool (if your project uses a lot of coroutines) [suggested tool]
- Profile often [video guide]
- Start learning Unity’s C# job system [video guide]
- Use texture atlasing [video guide]
In addition to Rizzotto’s video, Oculus recently published a technical overview about maintaining consistent frame timing on Quest for smooth rendering.
Optimization is both a science and an art, and while this crash course is a good overview, many optimizations will be project specific; learning the tools and methods for optimization in general will help you hone in on what’s the most important for your specific project.