From f098e1d9df08707e04e48aa03c528a395b8af0df Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Mon, 16 Mar 2026 17:44:06 +0000 Subject: [PATCH 1/5] [Port] [6000.0] [VFX] ColorField get lost after domain reload --- Packages/com.unity.visualeffectgraph/Editor/Models/VFXGraph.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Packages/com.unity.visualeffectgraph/Editor/Models/VFXGraph.cs b/Packages/com.unity.visualeffectgraph/Editor/Models/VFXGraph.cs index 3a36953672f..8051b08f335 100644 --- a/Packages/com.unity.visualeffectgraph/Editor/Models/VFXGraph.cs +++ b/Packages/com.unity.visualeffectgraph/Editor/Models/VFXGraph.cs @@ -1477,6 +1477,7 @@ private VFXGraphCompiledData compiledData [SerializeField] private int m_ResourceVersion; + [NonSerialized] private bool m_GraphSanitized = false; private bool m_ExpressionGraphDirty = true; private bool m_ExpressionValuesDirty = true; From 8a3a0bf76d6622231d9fd95d5f872d3d91150309 Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Tue, 17 Mar 2026 14:01:06 +0000 Subject: [PATCH 2/5] [Port] [6000.0] [UUM-135640][6000.6][URP 2D] Fix shadow caster 2d culling --- .../Runtime/2D/Shadows/ShadowCaster2D.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Shadows/ShadowCaster2D.cs b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Shadows/ShadowCaster2D.cs index 6f106123cad..49a28118859 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Shadows/ShadowCaster2D.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Shadows/ShadowCaster2D.cs @@ -274,9 +274,9 @@ internal bool IsLit(Light2D light) { // Oddly adding and subtracting vectors is expensive here because of the new structures created... Vector3 deltaPos; - deltaPos.x = light.m_CachedPosition.x - boundingSphere.position.x; - deltaPos.y = light.m_CachedPosition.y - boundingSphere.position.y; - deltaPos.z = light.m_CachedPosition.z - boundingSphere.position.z; + deltaPos.x = light.boundingSphere.position.x - boundingSphere.position.x; + deltaPos.y = light.boundingSphere.position.y - boundingSphere.position.y; + deltaPos.z = light.boundingSphere.position.z - boundingSphere.position.z; float distanceSq = Vector3.SqrMagnitude(deltaPos); From 0a14984bc476d8e133e76edf2f3767d6b1e5707f Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Wed, 18 Mar 2026 04:15:19 +0000 Subject: [PATCH 3/5] [Port] [6000.0] [HDRP] Added Missing `_BentNormalMapOS` Texture Declaration --- .../Runtime/Material/Lit/LitProperties.hlsl | 1 + 1 file changed, 1 insertion(+) diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitProperties.hlsl b/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitProperties.hlsl index 6ad0723ef7a..2c17ee4f896 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitProperties.hlsl +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitProperties.hlsl @@ -85,6 +85,7 @@ SAMPLER(sampler_CoatMaskMap); PROP_DECL_TEX2D(_BaseColorMap); PROP_DECL_TEX2D(_MaskMap); PROP_DECL_TEX2D(_BentNormalMap); +PROP_DECL_TEX2D(_BentNormalMapOS); PROP_DECL_TEX2D(_NormalMap); PROP_DECL_TEX2D(_NormalMapOS); PROP_DECL_TEX2D(_DetailMap); From 567e0708ad800f89336671b4bfeef7acaba87ca4 Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Tue, 24 Mar 2026 14:35:25 +0000 Subject: [PATCH 4/5] [Port] [6000.0] [Port] [6000.2] UUM-114563: Virtual Offset baking broken on AMD --- .../ProbeGIBaking.VirtualOffset.cs | 2 +- .../TraceVirtualOffset.urtshader | 25 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Packages/com.unity.render-pipelines.core/Editor/Lighting/ProbeVolume/ProbeGIBaking.VirtualOffset.cs b/Packages/com.unity.render-pipelines.core/Editor/Lighting/ProbeVolume/ProbeGIBaking.VirtualOffset.cs index 9f9204c4e78..e4cd84ad2d4 100644 --- a/Packages/com.unity.render-pipelines.core/Editor/Lighting/ProbeVolume/ProbeGIBaking.VirtualOffset.cs +++ b/Packages/com.unity.render-pipelines.core/Editor/Lighting/ProbeVolume/ProbeGIBaking.VirtualOffset.cs @@ -109,7 +109,7 @@ public override void Initialize(ProbeVolumeBakingSet bakingSet, NativeArray DOT_THRESHOLD) + float distanceDiff = hit.hitDistance - minDist; + if (distanceDiff < DISTANCE_THRESHOLD) { - outDirection = ray.direction; - maxDotSurface = dotSurface; - minDist = hit.hitDistance; + UnifiedRT::HitGeomAttributes attributes = UnifiedRT::FetchHitGeomAttributes(hit, UnifiedRT::kGeomAttribFaceNormal); + float dotSurface = dot(ray.direction, attributes.faceNormal); + + // If new distance is smaller by at least kDistanceThreshold, or if ray is at least DOT_THRESHOLD more colinear with normal + if (distanceDiff < -DISTANCE_THRESHOLD || dotSurface - maxDotSurface > DOT_THRESHOLD) + { + outDirection = ray.direction; + maxDotSurface = dotSurface; + minDist = hit.hitDistance; + } } } } From 733e2ac5ede0ca9a3c5836c3c21d51b4e7dd9031 Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Tue, 24 Mar 2026 14:35:25 +0000 Subject: [PATCH 5/5] [Port] [6000.0] docg-7313: Explain how a lower dimension T input value is mapped to the components of A and B --- .../Documentation~/Lerp-Node.md | 16 +++++++++++----- .../com.unity.shadergraph/Documentation~/Node.md | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Packages/com.unity.shadergraph/Documentation~/Lerp-Node.md b/Packages/com.unity.shadergraph/Documentation~/Lerp-Node.md index 90009c2d2f8..47de1677e45 100644 --- a/Packages/com.unity.shadergraph/Documentation~/Lerp-Node.md +++ b/Packages/com.unity.shadergraph/Documentation~/Lerp-Node.md @@ -4,20 +4,26 @@ Returns the result of linearly interpolating between input **A** and input **B** by input **T**. -The output is calculated as `A + T * (B - A)`. The value of input **T** acts as a weight factor applied to the difference between **B** and **A**: +Unity calculates the output as: + +A + T × (B − A) + +The value of input **T** acts as a weight factor applied to the difference between **B** and **A**: - When **T** is `0`, the output equals **A**. - When **T** is `1`, the output equals **B**. - When **T** is `0.5`, the output is the midpoint between **A** and **B**. +The Lerp node uses Dynamic Vector slots, so **A**, **B**, and **T** always resolve to the same component count, which matches the smallest connected vector (larger vectors truncate). Scalars promote to the resolved size by duplicating their value across components. + ## Ports | Name | Direction | Type | Description | |:-----|:----------|:---------------|:------------| -| A | Input | Dynamic Vector | First input value | -| B | Input | Dynamic Vector | Second input value | -| T | Input | Dynamic Vector | Time value. Typical range: 0 to 1. Though you can use values outside of this range they may cause unpredictable results. | -| Out | Output | Dynamic Vector | Output value | +| **A** | Input | Dynamic Vector | First input value | +| **B** | Input | Dynamic Vector | Second input value | +| **T** | Input | Dynamic Vector | Time value. Typical range: 0 to 1. Though you can use values outside of this range they may cause unpredictable results. | +| **Out** | Output | Dynamic Vector | Output value | ## Generated Code Example diff --git a/Packages/com.unity.shadergraph/Documentation~/Node.md b/Packages/com.unity.shadergraph/Documentation~/Node.md index 7ccb65f58a9..8fde6148615 100644 --- a/Packages/com.unity.shadergraph/Documentation~/Node.md +++ b/Packages/com.unity.shadergraph/Documentation~/Node.md @@ -40,3 +40,5 @@ Right clicking on a **Node** will open a context menu. This menu contains many o **Nodes** interact with the Shader Graph Window's Color Modes. Colors are displayed on nodes underneath the text on the node title bar. See [Color Modes](Color-Modes.md) for more information on available colors for nodes. + +Unity applies each component of T as a weight factor to each component to A and B. If T has fewer components than A and B, Unity casts T to the required number of components. Unity copies the values of the original components of T to the added components.