Search Issue Tracker
By Design
Votes
0
Found in
2018.4
2019.2
2019.2.10f1
2019.3
2020.1
Issue ID
1202968
Regression
No
"IPreprocessShaders.OnProcessShader" doesn't work with "multi_compile_local" variants
Reproduction steps:
1. Open "New Unity Project (12).zip" project
2. Build for Android
3. Look at the Console output
Expected Result: "F00000000000_ON" and "F000000000_OFF" are outputted
Actual Result: "F00000000000_ON" and "F000000000_OFF" are not outputted
Reproduced with: 2020.1.0a15, 2019.3.0f2, 2019.2.16f1, 2018.4.14f1
Could not reproduce on: 2017.4.35f1(Scripting errors)
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
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Resolution Note:
This is by desing, function that u are using `keys[j].GetKeywordName()` is only works for global keywords.
In 2020.1 we added new functions `ShaderKeyword.GetKeywordName(Shader, ShaderKeyword)` and `ShaderKeyword.GetGlobalKeywordName(ShaderKeyword)` where `keys[j].GetKeywordName()` is deprecated. The reason we needed new functions, as local keyword names can only be resolved if shader is known in context.