Reducing the number of variants across all shaders would be ideal, I guess.
However, considering that variant stripping needs to be turned off when you enable GPU Resident Drawer, I’m not sure how far reducing variants can go.

My project is using Unity 6.0.4f1, URP 17.0.3 Forward+, and GPU Resident Drawer enabled. The URP Standard Lit shader has almost 20000 variants. It takes hours to compile, but then it proceeds with various other URP Standard shaders that take a similar amount of time.
Which brings me to another issue I encounter where you might have a tip. Since it takes so long to make a build, I often spread the build process across several days. That means I start the build, let it work for a few hours, cancel the build, put the PC in hibernate, wake up the PC a day later, and click Build again.
Since Unity is or was able to build incrementally, shaders that were compiled earlier didn’t recompile when starting the build again. This behavior seems to be different with Unity 6.
When I start a build in Unity 6, wait for all URP Standard Lit shader variants to be compiled, stop the build, put the PC in hibernate, wake up the PC, start a build again, Unity compiles all those 20000 URP Standard Lit shader variants again.
I’m now stuck at not being able to build the project anymore because it takes too long. I went over the “reduce shader variants” blog/forum posts that were recently published, and it seems there is nothing I can do anymore to make that process faster.
My question is: Why is Unity recompiling shader variants when literally nothing changed between builds? One idea that comes to mind is, if there is a shader build cache somewhere that perhaps exceeds and throws out all those compiled variants again.
I also see that the editor is showing cyan materials for many of the same objects over and over again when I restart Unity.
EDIT: So… several hours later the build completed. I then immediately triggered a new build, selected the same output directory, and Unity started to recompile all shader variants again. Something obviously is not be working properly in Unity 6. It seems compiled shader variations are not cached. Is anybody else having the same issue?