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
- [Android] A VideoClip does not play on some Android devices
- Intercepted Events text is hardly visible in Inspector window for UI elements when Editor theme is set to Light
- [Hierarchy V2] Add new Query Block window contains a typo in the Hierarchy Search Area block
- Scene is not rendered in Player when ran with -force-d3d12 argument and GPU Resident Drawer enabled
- “Failed to load” window appears when a package’s docked window is opened and the package is uninstalled
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.