Unity Terrain grass shaders broken in VRChat
complete
1001
The hidden shaders Unity uses for Unity terrain grass detail patches falls back in VRChat to shaders that are not affected by fog settings and have cutout rendermode, forcing world builders to use the tree mesh part of terrain to render grass patches and that impacts performance a lot.
The two hidden shaders in question are "Hidden/TerrainEngine/Details/BillboardWavingDoublePass" and "Hidden/TerrainEngine/Details/WavingDoublePass" causing all the grass in a scene to stick out of the fog.
Dropping in this replacement shader that adds alpha transparency doesn't get picked up in VRC and gets reverted to the cutout shader without fog: https://github.com/Nition/UnityTerrainGrass
Screenshots from Unity 2017 and VRC 2017 build showing no alpha transparency and fogging in VRC but working fine in Unity
Log In
HK
complete
Blackcat
Related: >2019.02.14 23:01:53 Error - Unable to find shaders used for the terrain engine. Please include Nature/Terrain/CameraFacingBillboardTree shader in Graphics settings.
Terrain tree billboards also seem to be affected by this, and whatever fallback (if any) is making them completely invisible.
The Savage
Hoping on this to be fixed
Fionna
Tsuna showed this, which should be the fix. PLEASE IMPLEMENT, this is one of the most common frustrations and affects performance greatly!
Cow Tsuna
This shader also seems to be related:
Hidden/TerrainEngine/Details/Vertexlit
Desunyan
This is very old bug introduced since 5.6 update. Would love to see this fixed.
Fionna
I’d just like to note that this is a very common issue that has come up in the world building channels, terrain is widely used, and this means you cannot bake lights which impacts world performance a lot.
Fionna
Also probably related to this: https://vrchat.canny.io/bug-reports/p/baked-lightmaps-on-speedtrees-do-not-load-into-vrchat
Reco
This is probably the same issue I have with realtime shadows on terrains with billboard grass details. The shadows worked as expected in 5.6 but since unity 2017 the vrchat internal shaders are rendering all shadows too dark.