The Unity built in URP Lit shaders are great for a quick setup and go, but when you want to optimise your scenes and manage memory and CPU usage as much as possible Shader Graph and custom packed materials are key.
This project came about as an idea from building games for mobile, URP Lit was using up higher amounts of memory requiring more draw calls and greyscale textures than it needed. So I built a packing tool, a custom material and a simplified workflow to create materials that can free up to 50% memory on the GPU.
I used an old model of mine from a previous role to demonstrate PBR URP Lit in Unity compared to the PBR custom shader.
Whilst the packing tool isn't needed if a custom texture export is setup in Substance Painter, it can be really handy for those who are part way into a project and don't want to re-export all their models again. The tool featres a batch mode, to do an entire folder or projects worth of packing at once, or per model.
From their it's as simple as dropping the new packed texture, along with the original normal and albedo into the new material. Whilst contains an extra 2 passes in Unity Editor, once in a build those passes are no longer triggered due to them being EditorOnly.
Check out my other tool, Shader Complexity Tool to see the breakdown in Unity as well.