How to reproduce:
1. Open the “Set Material Keyword Bug 2“ project
2. Open the “SampleScene“
3. Enter the Play Mode
4. Observe the “Manual Instantiate (1)“ GameObject and the Console window
Expected result: The “Manual Instantiate (1)“ GameObject top turns green and no messages are logged in the Console window
Actual result: The “Manual Instantiate (1)“ GameObject top stays red and “Keyword not enabled …” messages logged in the Console window
Reproducible with: 2022.3.39f1, 6000.0.12f1
Could not test with: 2021.3.41f1 (“Renderer.SetMaterials“ and “Renderer.SetSharedMaterials“ methods are not implemented)
Reproducible on: macOS 14.5 (Intel), Windows 10 Pro (22H2)
Not reproducible on: No other environments tested
Workaround: Add the “material.shader = material.shader“ code snippet before calling “material.EnableKeyword(Keyword)“, when manually instantiating the material
Note: When using Material Variants the workaround works as expected for them, but the behavior of the original material is opposite. The instancing without a workaround works as correctly, but with the workaround works incorrectly