Optimize Renderer Features with Variable Rate Shading in Unity 6.1

ah. . . totally missed that part

(self plug)
Since I released this plugin a few years ago: Corgi God Rays - URP Volumetric Lighting | Fullscreen & Camera Effects | Unity Asset Store

1 Like

Are there any existing or planned performance optimizations for built in post processing effects or whatever due to variable rate shading?

4 Likes

Well done, looks like a fantastic feature!!

1 Like

Hello,

I followed the ā€œShading Rate Demo - Step by Stepā€ (shading-rate-demo/README.md at main Ā· Unity-Technologies/shading-rate-demo Ā· GitHub) but i’m stuck at the step where I need to use the Frame Debugger window to confirm that the output of the pass is now a blue texture.

I guess it’s an error from the script because it tell me ā€œInvalidOperationException: The previously scheduled job ZBinningJob writes to the Unity.Collections.NativeArray1[System.UInt32] ZBinningJob.bins. You must call JobHandle.Complete() on the job ZBinningJob, before you can write to the Unity.Collections.NativeArray1[System.UInt32] safely.ā€

(Other things when I activate the Variable Rate Shading in the ā€œPC_Renderer (U.R. Data)ā€, it completely grays out my viewport and I can no longer see anything or be on the game window.

Hope someone could help me :wink:

Deeper integration with VRS and SRPs is something we are considering! . I logged this specific request for post processing, and will hopefully share updates soon.

Thanks for sharing! Could you also confirm whether the original sample code works for you? Simply opening the ā€œShadingRateSampleā€ scene and hitting play. The instructions in the readme show how to implement the demo step-by-step, so you can adapt it for your project. But the sample itself should work out of the box. If not, could you share the full Editor/Player log with me in direct message?

2 Likes

Is it working? kept sayin ā€œunity VRS is not supportedā€

Same thing: ā€œVRS is not supportedā€
I thought it was because my GPU is too old (GTX 1060), even though it should support DX12.

Any updates for my problem ?

Hello, this looks like a very cool feature and I’m excited to try it!

We are making a mobile game, so I wonder if support for the Metal graphics backend is planned?

Cheers!

Hi, really liking the introduction of this feature and we’re considering using it for our pc + android game.

Our game only renders a single character, background image and UI, if I understand correctly the only way for us to implement this would be the following:

  • Render the background at full rate
  • Create a mask including only the character (using depth + some other objects to augment the SRI perhaps)
  • Move the character rendering to a render graph pass and set the fragment mask
  • Reset vrs override after all other render features are done (likely only SSAO)

Is it possible to augment the standard URP object rendering with an SRI mask or do we have to take control of these objects by putting them into a custom render graph pass?

I would also love the added flexibility for Quest3 development but afaik we are limited to offsetting the FFR setting maps. In practice this is not as dynamic and useful as it sounds.
On another note, I haven’t found a single renderer feature using Blitter working on mobileXR with the current pipeline yet.

1 Like

Can we seriously get some documentation or example project for using this in HDRP?
I’ve waited a few months, and I am on 6.2 but I can’t really figure it out…

Please…

1 Like

I also have been checking since it’s out, for an HDRP example, I thought I could use it with smoke bombs (tens of transparent particles overdrawing and reducing performance, where VRS could be a possible solution)

I just don’t understand why they would just not show us how it is supposed to work…
even a simple documentation would work…but no…
wait a few years

Hi, adding in a request for HDRP instructions. Since SRP Foveation doesn’t seem to work with PCVR, I would like to try using VRS as an alternative in my HDRP VR project.

If Unity could provide instructions on how to do this, that would be great! :slight_smile:

It probably won’t work either… At least for URP my ticket about FFR says that same bugs apply to VRS:

2 Likes

Well, that would be very unfortunate. Steam Frame is releasing, foveated rendering doesn’t work, VRS may not work… that’s a pretty bad state.

Not to mention the general difficulty of running a high fidelity game at around 6k in render resolution, and the seemingly bugged DLSS implementation in Unity that I’ve not been able to get any responses on in six months.

So please Unity, it would be great if you could investigate these things! :slight_smile:

3 Likes

If you haven’t, maybe vote for the ticket. It’s open since July, but was also discussed before here, so Unity team should be well aware that this feature is broken for PCVR.

1 Like

On the example it says that it only works for DX12, Vulkan and compatible consoles, however, would this one day work on Metal devices?
They do have the same feature I gather, they just call it ā€˜VRR’ and the ā€˜rate image’ they call it ā€˜Rate Map Data’.

(Granted, priority is the bug fixes mentioned along the timeline of this thread)

1 Like