If you install the Oculus Metrics Tool you will see that the Quest 2 does not actually render at the native resolution of the Panel, sadly. And more sadly, there is not way to change that other than the following 2 ADB commands.
“adb shell setprop debug.oculus.textureWidth 1832”
“adb shell setprop debug.oculus.textureHeight 1920”
You can run these easily using SideQuest each time you power on your HMD. There is a API/Plugin command to scale the eye texture, but since the default form which it scales is not the native aspect ratio, that as well results in non-integer scaled frame buffers that still look slightly blurry, unless you over-sample to ridiculous degrees (1.5x +).
I suggest, from what i tested with, to use a MSAA level of 2 and a render scale of 1.25 for the best picture to performance ratio. As a starting point from where to adjust at least.
Until Unity5.4 you could use the global mip map bias to push all the mip maps further out, to keep textures clear, but that stopped working with later versions on Android/ARM devices for some reason - I only noticed that first when working on the N3DS, not sure if that works again now (with newer Unity versions). Gonna test that in a bit, since, yeah, textures no matter how big looks like vomit form about 3 meters distance on the Quest 2…
@zelrender I wrote this a bit more detailed for anyone else who might have these kind of problems, even though you already looked at some things. For you specifically i would also suggest to look at the Android specific texture options, you only show the standalone(pc) option. There is a global overwrite for texture compression in the build settings window. i think it is usually set to ETC (with looks horrible) by default, try ATSC or DTX, depending on what looks better for the texture in question.
Edit: I just checked the mip map bias thing and read, “Also note that mip map bias does not work with MaterialPropertyBlocks, and some platforms, e.g., OpenGL ES based do not support it without custom shaders.”, which is weird since i am 100% sure it worked in older version… Now if Vulkan would not crash after about 1 minute that would be something to test i guess