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
- Objects with Universal Render Pipeline/Particles/Lit shader are always lit up when changing their Rendering Layer Mask
- PolySpatial “Trying to set shader on a Material Variant.” error is printed in the console when entering Play Mode
- Error “Shader error in 'YSCloudCover': call to 'tex3D' is ambiguous at Assets/YSCloudCoverText.shader(606) (on d3d11)“ is present when compiling tex3D shader with DXC
- Placeholder asset is not loaded with Advertisement Legacy sample when using the latest version of the package
- Addressables content build fails but the Player build is successful when building a development build
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.