Search Issue Tracker

By Design

Votes

0

Found in

6000.2.6f1

6000.3.0b4

6000.4.0a1

6000.5.0a1

Issue ID

UUM-120592

Regression

Yes

[Android] A large shader memory increase when using a custom shader in an Android build

-

How to reproduce:
1. Open the “CustomShader.zip“ project with the 6000.0.59f1 version of the Editor
2. Open the “SampleScene“
3. Open “File > Build Profiles“
4. Select Android module
5. Enable “Development Build“ and “Autoconnect Profiler“
6. Build and Run for Android
7. Open the “Window > Analysis > Memory Profiler“ window
8. Make a snapshot of the application on the device
9. Repeats steps 1 to 8 with later streams of the Editor
10. Compare the snapshot of 6000.0.59f1 with other streams by inspecting the custom shader

Expected result: The memory usage stays around the same through all of the streams
Actual result: There is an increase in the memory usage with later streams (around 50-60 MB)

Reproducible with: 6000.1.0a5, 6000.2.6f1, 6000.3.0b4, 6000.4.0a1
Not reproducible with: 6000.0.59f1, 6000.1.0a4

Reproducible environment: macOS 15.7 (M4 Max), macOS 15.6 (M1 Max)
Not reproducible environment: No other environment tested

Reproducible with these devices:
VLNQA00460, Google Pixel 6 (Pixel 6), Android 14, CPU: Google Tensor (Whitechapel), GPU: Mali-G78
Pixel 6/6a/pro (the ones that use Tensor GPU) (Reporters)

Not reproducible with these devices:
VLNQA00499, Google Pixel 7 (Pixel 7), Android 15, CPU: Google Tensor G2, GPU: Mali-G710
Galaxy S25 + Android 15 (Reporters)
Galaxy A23 + Android 13 (Reporters)
Galaxy S9 + Android 8 (Reporters)
AQUOS wish 4 + Android 14 (Reporters)
Pixel 8 + Android 16 (Reporters)
Pixel 7 + Android 15 (Reporters)

Note: More information in the comments

  1. Resolution Note:

    GLES and Vulkan have inherent differences in the amount of memory used for shader objects and this issue is a byproduct of the Pixel 6 family of devices having Vulkan disabled by default due to numerous faulty driver versions on those devices.

    Users can re-enable Vulkan on Pixel 6 using the "Vulkan Device Filter Asset" (https://docs.unity3d.com/6000.2/Documentation/Manual/introduction-vulkan-device-filtering-asset.html) on Unity 6000.2+ or the "Vulkan Device Filter List" (https://docs.unity3d.com/6000.0/Documentation/Manual/allow-deny-vulkan-usage.html) on 6000.0.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.