Search Issue Tracker
Fixed
Fixed in 2023.3.X, 2023.3.0b7
Votes
0
Found in
2023.3.0a7
Issue ID
UUM-49317
Regression
No
"maximum ps_4_0 sampler register index (16) exceeded" error is thrown on build when enabling LOD Cross-Fade
How to reproduce:
1. Open the attached project “Test”
2. Build And Run the project
Expected result: The project is successfully built
Actual result: The project building fails with the "maximum ps_4_0 sampler register index (16) exceeded" error
Reproducible with: 2022.3.7f1
Couldn’t test with: 2021.3.29f1, 2023.1.8f1, 2023.2.0b4 (The project becomes broken after changing the version)
Reproducible on: Windows 11 Pro
Not reproducible on: No other environment tested
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
- UI Toolkit throws warning and fails to clear references when fields are not typed as UnityEngine.Object
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
Resolution Note (fix version 2023.3):
This error is a hard limit from the graphics API and cannot be fixed or changed. Direct3D 11 supports only 16 active texture samplers in one shader. Unity creates a sampler per texture due to historical reasons. The solution is to reduce the number of textures used by the shader. Alternatively the samplers can be shared using hardcoded inline samplers (excluding OpenGL).
See: https://docs.unity3d.com/2023.3/Documentation/Manual/SL-SamplerStates.html
The bug is marked fixed. The fix turns several internal samplers into shared inline samplers. While this won't fix the underlying issue (limit of the graphics API and/or hardware), it should reduce the likelihood of hitting this limit.
If you hit this limit again, try to reduce the enabled textures or features in the (Lit) shader to workaround the issue.