Search Issue Tracker
By Design
Votes
0
Found in [Package]
8.0.1
Issue ID
1224388
Regression
No
[SRP Batcher] Objects with changed texture are batched incorrectly when the texture property is not exposed in ShaderGraph
How to reproduce:
1. Open SampleScene from the attached project
2. Start Play mode
3. In Game window look around using mouse
4. Inspect the color of the middle squished cube when it is getting in and out of view
Expected result: Middle cube always stays red
Actual result: Middle cube switches between red and gray when at the side of view
Reproducible with: 2018.4.19f1(SRP 4.10.0-preview), 2019.3.6f1(SRP 7.1.8), 2020.1.0b2(SRP 7.2.1), 2020.2.0a4 (SRP 8.0.1)
Could not test with: 2017.4 - packages not supported
Notes:
1) Reproduces on both URP and HDRP
2) Does not reproduce if the texture property is set to 'Exposed' in ShaderGraph
3) Does not reproduce when using built-in unlit shader without properties exposed
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
- Error ‘cannot use casts on l-values’ when a variable is assigned inside a second-level nested if statement before being used in a conversion
- "You cannot save to an invalid folder" warning dialog box is shown when canceling Tile Palette creation
- Global Volume visual details are blurred when Tonemapping mode is set to any other than 'ACES'
- [Android] Stage information is not logged when Log Shader Compilation is enabled
- [Vulkan] The memory allocation increases rapidly when there are multiple (three or more) Real-Time Reflection Probes in the Scene
Resolution Note:
After internal investigation we realized that the two checkboxes provided for properties are insufficient to capture all use cases, and that we need to figure out how to present property intent to the user in a more explicit way. Since we provide the ability to use a custom inspector for SG materials, it is possible to work around this problem by marking a property as exposed to correctly generate the property block definition required for most properties that are instanced and using a custom inspector to hide the property outside of this system. Designing and implementing more explicit property usage has been added to our tasks.