Manually Convert Custom Shader to URP SHader

Hello everyone. I have a custom shaders that I need converted to URP. I have already tried using the built in converter, but it tells me that no converter is available for my shader. However, I have heard on other threads that it is possible to port simple shaders over by manually editing them. I have a lot of shaders so a simple process would be appreciated. If anyone has information on the steps to do the conversion feel free to respond.

There is no automated process.

If they are unlit shaders, you usually just need to add some tags, a depth-only, and a depth-normals pass.

If they are lit shaders (or surface shaders), it gets a lot harder. Your best bet is probably to use shader graph, but not every shader can be easily graph-ified (you can use a custom function node, but you’ll still need to edit your code, and setting up parameters/material inputs can become worse than dragging around nodes – and I hate graph editors, so I don’t say that lightly). Or else, you can learn the lighting code by copying some of the internal shaders, but it changes from version to version, and there are now 3 rendering paths.

If they are post-processing or other effects, the actual shaders will probably be trivial to convert or just work as is. But you will need to rewrite the rendering code to work with renderer features.