Search Issue Tracker
By Design
Votes
10
Found in
2019.2.0a8
2019.3
2019.3.0b8
2020.1
Issue ID
1193781
Regression
Yes
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
Comments (3)
-
DrSpritz
Jan 14, 2023 09:18
What about Trees Billboard shaders? How I can override this material shader?
-
MCPfannkuchenYT
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
-
Alexsandro-Natsume
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
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on D3D12CommonShader::ApplyGpuProgram when attaching material which samples "_UnityFBInput0" to "Full Screen Pass Renderer Feature" Component
- SpeedTree meshes and objects count differs when comparing the numbers in the Player with the Editor
- Model and Prefab Preview icons are not updated after upgrading associated Materials to URP
- Game view is rendered white when viewing the Editor with HDR display and Post Proccesing is enabled on the Main Camera with 2D URP
- UI Builder doesn't update the style sheet when using "Extract inline style" right-click option
Resolution Note:
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.