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

Shaders

-

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)

  1. 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.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.