Search Issue Tracker
Custom shader doesn't override built-in terrain shader
How to reproduce:
1. Open the attached '1193781-shader-override-issue.zip' project
2. Open 'SampleScene' Scene
3. Inspect 'Standard-FirstPass' shader
4. Notice that shader's name is Shader "Nature/Terrain/Standard"
5. Notice that 'Default-Terrain-Standard' shader is assigned to 'Terrain-standard' GameObject
Expected result: Built-in shader is overridden and 'Terrain-standard' GameObject is red
Actual result: Built-in shader is not overridden and 'Terrain-standard' GameObject is grey
Reproducible with: 2019.2.0a8, 2019.2.11f1, 2019.3.0f3, 2020.1.0a16
Not reproducible with: 2017.4.35f1, 2018.4.14f1, 2019.2.0a7
Note: Video and project of reproduction are attached in Edit
Jan 14, 2023 09:18
What about Trees Billboard shaders? How I can override this material shader?
Jul 12, 2020 15:53
You can copy the package urp from the Library/PackageCache to Packages and then copy the Shader into the Shaders folder
Jun 26, 2020 03:10
what about the grass shader ? where can i just CREATE A NEW MATERIAL , REFERENCING THE NEW SHADER AND ASSING THE MATERIAL TO THE TERRAIN
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- "Development Build" watermark is shown in non-development UWP release builds
- Console errors appear when the Inspector is set to Debug and a GameObject is selected
- A script public variable value is not used when set in the Inspector window
- Inspector window's ObjectFields are not updating correctly
- Linker error when building with the MRTK Graphics Tools package and Managed Stripping Level is set to High
Nowadays terrain references shader via standard asset referencing so there won't be any more same-name shader overriding mechanism. If user wants to override the terrain shader, he should be able to just create a new material, referencing the new shader and assign the material to the terrain.