Search Issue Tracker
By Design
By Design in 6000.5.X
Votes
0
Found in
6000.3.3f1
6000.4.0b3
6000.5.0a5
Issue ID
UUM-131993
Regression
No
[ShaderGraph] Precision doesn't "trickle down" in subgraphs
Steps to reproduce:
- Unzip the attached file to a URP project
- Open "SG Precision Test/PrecisionTest Graph.shadergraph"
- Inspect the different nodes configurations in the graph
Notes:
This test is made with a custom node that changes the output based on the resolved precision of the node. Red if "Single", blue if "Half".
The "refence" for testing can be seeing at the top, where only the node is used and preview is displayed :
!image-2026-01-12-14-48-45-466.png!
Rows varies the input precision, and columns varies the node precision setting.
The second line of tests shows what happens when the node is inside a SubGraph, the subgraph uses a dropdown to switch the precision setting used on the inner node, and each group of 4x4 nodes use a different precision setting for the SubGraph instances :
!image-2026-01-12-14-51-40-691.png!
Strangely, they all show the exact same result, independently of the precision setting of the SubGraph instances, or of the ShaderGraph global precision.
It is not clear why when the SubGraph is set to "Switchable" the instances still have individual precision settings if it has no influence and acts as if the SubGraph precision is set to "Half".
The last line of tests shows what happens when the SubGraph is set to a defined precision :
!image-2026-01-12-14-59-44-033.png!
These tests seem to be working as intended, the output matches to the precision set in the SubGraph asset. It is a bit unclear/uncertain of what should be the behavior when the node is set to "inherit" : it apparently uses the subgraph precision, ignoring the actual connected input that goes through the SubGraph connection. This is maybe expected.
All this exploration came from this issue raised on Discussions.
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
Thank you for reporting a bug to Unity.
After reviewing the behavior, we've confirmed it aligns with the current design and intended use of the feature. We understand this may differ from your expectations or workflow.
We greatly appreciate the investigation and we believe that we should revisit how precision evaluation is handled, but there are no immediate changes we would make as such changes would silently impact behavior that users rely on.
Resolution Note (6000.5.X):
Thank you for reporting a bug to Unity.
After reviewing the behavior, we've confirmed it aligns with the current design and intended use of the feature. We understand this may differ from your expectations or workflow.
We greatly appreciate the investigation and we believe that we should revisit how precision evaluation is handled, but there are no immediate changes we would make as such changes would silently impact behavior that users rely on.