Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
doubledan's avatar
doubledan
Explorer
6 years ago

Replacement shader

I'm trying to implement a replacement shader. It's working while testing in Unity on the Rift, but when I build on the Quest it's not working. I guess the render process/pipeline is different on the Quest. Does any one have any tips or can anyone recommend any documentation where I can read up on rendering on the Quest.
I'm using the center camera and I changed from single pass to multi-pass rendering in case that was causing it not to work.
Thanks

3 Replies

  • In case this info is useful for anyone else. This looks to be a known, but seemingly ignored issue. From the the many  threads I've read, the gist seems to be that nothing works and their is no word on if there will be a fix or what that fix will be. Please let me know if I've got this wrong but at the moment your can't do custom post processing on the Quest in Unity :(
    For reference, this is an issue that's been open for the best part of a year now :
    The official URP docs mention that post processing v2 doesn't work, but has no details of a replacement.
    Does anyone else know anything else about this?




  • Anonymous's avatar
    Anonymous
    You should watch the second half of this talk about Unity and the Quest: https://youtu.be/PUK2-GzXuso?t=1766

    Basically, even if everything was working you can't (shouldn't) attempt post processing shaders on the Quest because the resolves are going to kill your performance. You need to create (fake) your fancy effects at an object level.

    This guy talks about how they faked a color grading post process past on the Quest:
    https://youtu.be/JvMQUz0g_Tk?t=1012
  • Thanks for the links. I was coming to the same conclusion with regards to doing this in Unity. In my case the 'effect' is is super simple and cheap as a post process, and much harder to do before hand :/  I have it working at around 40fps on Quest, using the SRP and one blit in OnRenderImage, but that's no good. I'm checking out the profiler to see if I can make any optimisations, but I doubt it.

    So I can either fake it on Unity or switch to UE4, which seems to be much better for rendering, and already has Vulkan support. Damn, I really hope Unity sort this rendering pipeline mess out soon.