Ambient Node is Vector3 but Universal RP is Vector4

If want use enviroment lighting (ambient color), ShaderGraph can use Ambient Node.
But use ambient node in Universal Render Pipeline, log warning message. like:
'Unity_Lerp_half3': implicit truncation of vector type

I found why log warning message.
It’s because SHADERGRAPH_AMBIENT_SKY macro is float4 unity_AmbientSky, in Universal Render Pipeline.

  • What are the cases where you have to worry about this warning?
  • Should I report it as a bug report?

These warnings are safe to ignore, albeit annoying. They’re a bit too common when using Shader Graph unfortunately. It’ll end up being compiled to a float3 anyway (using the XYZ components, through assumption).

A way around this is to use a Split node, then pipe the XYZ components into a Combine node to form a new float3. Though dealing with these warnings is easier than with the resulting spaghetti graph

There’s no harm in filing a bug report, if you’re willing to put in the effort!

1 Like