Built-In Render Pipeline prebuilt shaders in URP reference
Discover which URP shaders the Built-In Render Pipeline shaders convert to when you use the Render Pipeline Converter.
阅读时间3 分钟最后更新于 1 个月前
After you use the Material Shader Converter in the Render Pipeline Converter, Unity converts the selected prebuilt shaders to its corresponding Universal Render Pipleine (URP) shaders.
Shader mapping
The following table shows which URP shaders the Built-In Render Pipeline shaders convert to when you use the Render Pipeline Converter.
Built-In Render Pipeline shader | URP shader |
|---|---|
| Standard | Universal Render Pipeline/Lit |
| Standard (Specular Setup) | Universal Render Pipeline/Lit |
| Standard Terrain | Universal Render Pipeline/Terrain/Lit |
| Particles/Standard Surface | Universal Render Pipeline/Particles/Lit |
| Particles/Standard Unlit | Universal Render Pipeline/Particles/Unlit |
| Mobile/Diffuse | Universal Render Pipeline/Simple Lit |
| Mobile/Bumped Specular | Universal Render Pipeline/Simple Lit |
| Mobile/Bumped Specular(1 Directional Light) | Universal Render Pipeline/Simple Lit |
| Mobile/Unlit (Supports Lightmap) | Universal Render Pipeline/Simple Lit |
| Mobile/VertexLit | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Diffuse | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Specular | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Bumped Diffuse | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Bumped Specular | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Self-Illumin/Diffuse | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Self-Illumin/Bumped Diffuse | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Self-Illumin/Specular | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Self-Illumin/Bumped Specular | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Transparent/Diffuse | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Transparent/Specular | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Transparent/Bumped Diffuse | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Transparent/Bumped Specular | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Transparent/Cutout/Diffuse | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Transparent/Cutout/Specular | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Transparent/Cutout/Bumped Diffuse | Universal Render Pipeline/Simple Lit |
| Legacy Shaders/Transparent/Cutout/Bumped Specular | Universal Render Pipeline/Simple Lit |
Define upgrade paths for shaders
To define upgrade paths for shaders, do the following:
- Map an old shader to a new one with a custom .
MaterialUpgrader - Expose the upgrader to the system with .
IMaterialUpgradersProvider
// This class defines the upgrade rule from an old shader to a new shaderpublic class MaterialUpgraderExample : MaterialUpgrader{ // Priority determines order — higher values override lower-priority upgraders public int priority => 1000; public MaterialUpgraderExample(string oldShaderName, string newShaderName) { if (oldShaderName == null) throw new ArgumentNullException(nameof(oldShaderName)); // Maps the old shader to the new shader with optional property remapping (null here) RenameShader(oldShaderName, newShaderName, null); }}// This provider makes the upgrader discoverable by the upgrader system.// It declares support for the Universal Render Pipeline and exposes the custom upgrade rule.[SupportedOnRenderPipeline(typeof(UniversalRenderPipeline))]private class ExampleMaterialProvider : IMaterialUpgradersProvider{ public IEnumerable<MaterialUpgrader> GetUpgraders() { // Replace "SomePathToShader" and "MappingShaderPath" with actual shader names/paths yield return new MaterialUpgraderExample("SomePathToShader", "MappingShaderPath"); // Add as many upgraders you need }}