Search Issue Tracker
By Design
Votes
3
Found in
2023.1.0a1
2023.2.0a1
Issue ID
UUM-3284
Regression
No
ShaderVariant throws 'ArgumentException: shader pass type 0 does not have a shader snippet' when using AssetBundle
Reproduction steps:
1. Open the attached 'TestShaderVariant' project
2. Open the 'SampleScene'
3. Go to the 'Window -> Asset Management -> Addressables'
4. 'Build -> Clean Build -> All'
5. 'Build -> New Build -> Default Build Script'
6. 'Play Mode Script -> Use Existing Build'
7. Enter Play mode
Expected result: No errors are in the Console
Actual result: 'ArgumentException: shader Unlit/NewUnlitShader pass type 0 does not have a shader snippet' is in the Console
Reproducible with: 2019.4.36f1, 2020.3.30f1, 2021.2.14f1, 2022.1.0b13, 2022.2.0a8
Public Tracker Link:
https://issuetracker.unity3d.com/product/unity/issues/guid/1412344/
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
- Unity CIL Linker fails on Player build when persistent listeners have "<" and ">" in their XML attribute names
- ”Lighting data asset ‘LightingData’ is incompatible with the current Unity version…” warnings are thrown when saving Indoors (URP) and Outdoors (URP) Scenes as Scene Templates
- [iOS] The screen blinks when transitioning from custom to Unity splash screen
- [macOS] ”Ignoring depth surface load action as it is memoryless” warnings are thrown when taking Game View Snapshot
- UI Builder Inspector scrolls back up when changes on an expanded but not fully displayed Inspector tab are saved
Resolution Note:
When a shader is part of an asset bundle, there is not enough information for the Editor to do all the checks it normally does (the source asset is missing in this case).
It's best to create those variant collections in the Editor as assets, and not build them at player runtime.