Did the new scriptable render pipeline system break Graphics.DrawMesh()?
In my project, I've been using a screen fader script for ages that uses Graphics.DrawMesh() to draw a quad in front of the camera and fade it in or out. I'm not even sure if thats the best practise, but it's worked really well in all situations I've needed it for thus far.
However, after upgrading from Unity 2018.1.1f to Unity 2018.2.3f and implementing the new light-weight renderpipeline, it seems impossible to get Graphics.DrawMesh to work again. It doesn't draw pink as expected with incompatible materials; it doesn't draw at all. I made a new fadeable LWRP-based material for it to use just in case, but no luck. I've tried playing with which layer its drawn upon (including ensuring camera culling layers are correct), positioning of the mesh, rotation of the mesh, guaranteeing the correct material; it's definitely not working. If I roll back to 2018.1.1f and unplug the LWRP asset file from the Render Pipeline settings (Edit -> Project Settings -> Graphics), it works perfectly again.
Is there anything that I'm missing before making such a bold claim? Any help or pointing out obvious oversights on my behalf would be greatly appreciated!
Answer by nocanwin · Apr 18, 2020 at 09:22 PM
I had the same problem. I was calling it in OnRenderObject, moving the call to Update fixed the issue for me.