Search Issue Tracker
By Design
Votes
0
Found in
2022.3.62f1
6000.0.48f1
6000.1.3f1
6000.2.0b1
6000.3.0a1
Issue ID
UUM-105246
Regression
Yes
Android Player freezes on some Mali GPU devices when Lighting Cast Shadows changed to OFF at runtime
How to reproduce:
1. Open the attached “IN-101015” Project
2. In the Build Profiles window, Build And Run the project on a device
3. In the Android Player, click the LowTier toggle.
4. Observe the Android Player
Expected result: Android Player does not freeze when the toggle is on
Actual result: Android Player freezes
Reproducible in: 2022.3.3f1, 2022.3.62f1, 2023.2.0a20, 6000.0.48f1, 6000.1.3f1, 6000.2.0b1
Not reproducible in: 2022.3.2f1, 2023.2.0a19
Reproducible on:
VLNQA00325 Samsung Galaxy Note 10 (SM-N970F), Android 12, CPU: Exynos 9 Series 9825, GPU: Mali-G76
Samsung Galaxy S10 (SM-G973F), Android 10, CPU: Exynos 9 9820, GPU: Mali-G76 (SauceLabs)
Google Pixel 8a (Pixel 8a), Android 14 (Reporter)
Not Reproducible on:
VLNQA00566, Samsung Galaxy S8 (SM-G950F), Android 9, CPU: Exynos 9 Octa 8895, GPU: Mali-G71
VLNQA00460 - Google Pixel 6 (Pixel 6), Android 14, CPU: Google Tensor, GPU: Mali-G78
VLNQA00498, Google Pixel 7 (Pixel 7), Android 13, CPU: Google Tensor G2 , GPU: Mali-G710
VLNQA00628 - Pixel 9 Pro Fold (Pixel 9 Pro Fold), Android 14, CPU: Google Tensor G4, GPU: Mali-G715
Google Pixel 6 (Pixel 6), Android 14 (Reporter)
Google Pixel 8a (Pixel 8a), Android 15 (Reporter)
Notes:
* Similar to [UUM-87817|https://issuetracker.unity3d.com/issues/android-shadows-screen-set-as-shader-keyword-when-no-shadowmaptexture-is-bound-leads-to-freeze-on-a-build-on-some-mali-gpu-devices] but is affected by Lit.shader instead
* If MainLightRealtimeShadow method is modified in the “Packages/com.unity.shadergraph/Editor/Generation/Targets/BuildIn/ShaderLibrary/Shadows.hlsl” file as pictured below the issue is no longer reproducible:
{noformat}half MainLightRealtimeShadow(float4 shadowCoord, half4 shadowParams, ShadowSamplingData shadowSamplingData)
{
...
#if !defined(_MAIN_LIGHT_SHADOWS) //<---ADDED
return half(1.0); //<---ADDED
#endif //<---ADDED
...
}{noformat}
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
- [Quest] Pitch Shifter causes audio degradation on Quest 2 devices when sped up
- "GUI Error: Invalid GUILayout" and "NullReferenceException" are thrown when adding Scenes to "Scenes in Baking Set" in Adaptive Probe Volumes
- Inspector window not updating when switching GameObjects in Play Mode while having a VR headset connected
- “UnityException: GetInvalidFilenameChars” errors are thrown, and the Overlay Save Preset button becomes unusable when entering Play Mode with a shortcut while Overlay Save Preset window is opened
- "UnityException: GetName can only be called from the main thread." erors are thrown when the Shortcuts window is opened and entering Play Mode with a shortcut
Resolution Note:
The problem appears to be in the configuration of the quality levels in the user's project and the way quality levels are switched at runtime.
Based on testing, if the proper configuration is used, the issue does not reproduce. The URP assets need to be assigned to the quality levels, in order to strip the shader variants based on the enabled features.