Camera doesn't render anything in VR Headset when enabling PostProcess Layer component

Good afternoon!

I’ve been struggling quite a lot fighting flickering in my scenes when seen in the VR headset (in the Editor everything seems fine). Vegetation probably are the assets that flicker the most since the materials play with alpha cutoff to have a good look on leaves, but other meshes flicker too.

I tried a bunch of things already: forward/deferred rendering (deferred doesn’t work in vr so I left forward), decreasing/increasing textures resolution, enabling MSAA in Quality settings (tested no AA, x2, x4 and x8), disabling HDR in Graphics settings and many other small changes that didn’t work finally.

Since any of those things fixed my issue, I searched how to enable other AA techniques besides MSAA, and found that Post Processing would do the trick (I work with built-in renderer, so I downloaded the Package Manager version).

Followed the process to enable post processing in the scene and made it work in Editor. Added FXAA anti-alising to my player camera Post-process layer component and could see a good improvement in the Game view in Editor when it comes to the edges of the meshes, so I decided to make a build for my headset (btw, I’m using Vive Focus 3). But, when opening my application in the headset, nothing is rendered. No floor, no assets I only see Unity’s default background; empty scene.

Then, I started changing values and enabling/disabling components and I found that Post-process Layer seems to be the trigger. If it’s disabled, the camera renders normally but obviously without the antialiasing and postprocess efects, and if it’s enabled, it renders nothing.
9123985--1266208--upload_2023-7-4_18-37-27.png

Is there any incompatibility between postprocess and VR in built-in? I found discussions out there about posprocess in VR for URP but not really for built-in so I began to wonder if post-process must not be enabled for built-in render pipeline.

I wasn’t sure where to post since this thread looks like it’s split in two: flickering issue and postprocess issue, so sorry if I didn’t follow the process correctly!

Thanks in advance for the help.

This may be a stupid question, but have you added your scene to the Build Settings popup?

Also, have you enabled post processing on your camera?

Hey Gavin!

Haha, don’t worry. Yes, build settings is setup properly.
And yes, post-process is setup for my camera. There is no Post Processing toggle on Cameras in Built-in RP, you have to add PostProcess Layer component to the camera gameobject in order to enable it, which I have.

I kept doing troubleshooting and testing but didn’t fix the issue yet. If I get to solve it, I’ll share it here. Ty!

Hey there!

For anyone interested, I found the thing that was causing the scene to not render when postprocess was enabled. When working with HTC Vive, you probably will be using WaveXR as the XR Plugin. In the Project Settings → WaveXRSettings tab, you will find some cool settings. As default, Wave XR Settings are setup as Single Pass render mode, and as far as I could know, using Single Pass in SRP will make the scene to not render correctly in the headset if post processing is enabled. So in order to fix this issue, you will just change it to Multi Pass.

Just for your info, I decided to stay with Single Pass and disabling postprocessing. Multi Pass significantly reduced my headset performance and was not worth trading framerate for a bit better looking scene. I think for small scenes, not my case, Multi Pass would work well.

Hopefully this helps someone :smile:

Take care!

2 Likes