Showing results for 
Search instead for 
Did you mean: 

Anti Aliasing In Unity with URP

Level 2



So I'm having issues with Antialiasing in Unity on a Quest project, it doesn't seem to matter if I have my project set up based on the Oculus documentation or not:


Things are still looking pretty chunky, maybe I'm not understanding how to manually set the MSAA level, in my understanding it's the pipeline asset that has to be set to 4x MSAA


Project Setup:

Unity 2021.3.11f1

Unity XR System w/Oculus XR Plugin

GLES not Vulkan


Doesn't seem to matter if I'm in Multiview or Multipass. FXAA does... something, but its just blurry.


I've read that for certain setups you have to disable antialiasing in the camera, only enabling it in the pipeline settings, this didn't have the desired effect for me.


Finally, questions:

How essential is the Integration Package to MSAA functioning correctly on the quest?

Am I required to use an Oculus camera rig instead of the Unity XR Rig for Antialiasing to function correctly?


Also if anybody can share with me screenshots of a working URP+MSAA Unity setup configuration I would be very grateful. 


Not applicable

You should check the Unity forums, and maybe re-ask your question there. Getting MSAA to work with URP is frustratingly delicate. You can't do anything that causes the pipeline to do an intermediate blit, and it seems like the design philosophy of URP is "when in doubt, blit."


So, you can't use RenderFeatures (a tool that let you render objects in a specific order, with specific shaders), you can't use post processing effects. You can't use the opaque texture of the pipeline (this would be used for water/refraction shaders, for example). I'm not even sure you can use the depth texture of the pipeline (used for decal shaders, etc.)


When targeting Quest I prefer to use the Oculus Integration and the Oculus Camera Rig prefab, because there are some Quest features (like getting/setting FPS) that I don't think are properly implemented in Unity's XR system yet. So you'll run into issues and have to wonder if it's a bug in your implementation, or a bug in Unity's wrapper around Oculus' implementation.


I *think* these settings were working last time I ran on device, but it's been a while (I've been working on a Standard pipeline project for a bit).