From 0c5ae022b4ba5314abba15746a1685eac90fcd71 Mon Sep 17 00:00:00 2001 From: Sindharta Tanuwijaya Date: Tue, 23 Jun 2026 16:57:32 +0900 Subject: [PATCH 1/5] tentative --- .../Runtime/Shaders/URP/UniversalToonBody.hlsl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl index 9a99043b4..18f0b7969 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl @@ -21,12 +21,12 @@ # endif #endif - -#if USE_FORWARD_PLUS && defined(LIGHTMAP_ON) && defined(LIGHTMAP_SHADOW_MIXING) -#define FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK if (_AdditionalLightsColor[lightIndex].a > 0.0h) continue; -#else -#define FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK -#endif +// +// #if USE_FORWARD_PLUS && defined(LIGHTMAP_ON) && defined(LIGHTMAP_SHADOW_MIXING) +// #define FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK if (_AdditionalLightsColor[lightIndex].a > 0.0h) continue; +// #else +// #define FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK +// #endif //function to rotate the UV: RotateUV() From 6b015a32b5469bdc024773682e0ed63652d31d1f Mon Sep 17 00:00:00 2001 From: sin Date: Wed, 24 Jun 2026 10:51:05 +0900 Subject: [PATCH 2/5] remove commented out code --- .../Runtime/Shaders/URP/UniversalToonBody.hlsl | 8 -------- 1 file changed, 8 deletions(-) diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl index 18f0b7969..f25f9e479 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl @@ -21,14 +21,6 @@ # endif #endif -// -// #if USE_FORWARD_PLUS && defined(LIGHTMAP_ON) && defined(LIGHTMAP_SHADOW_MIXING) -// #define FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK if (_AdditionalLightsColor[lightIndex].a > 0.0h) continue; -// #else -// #define FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK -// #endif - - //function to rotate the UV: RotateUV() //float2 rotatedUV = RotateUV(i.uv0, (_angular_Verocity*3.141592654), float2(0.5, 0.5), _Time.g); float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) { From cfb130b7615ce9d04ad34de689233aaaa1d2a31d Mon Sep 17 00:00:00 2001 From: sin Date: Wed, 24 Jun 2026 10:54:50 +0900 Subject: [PATCH 3/5] use CLUSTER_LIGHT_LOOP_SUBTRACTIVE_LIGHT_CHECK --- .../Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl index 35e04e794..e8609553e 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl @@ -403,7 +403,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 // directional lights in Forward Plus for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK + CLUSTER_LIGHT_LOOP_SUBTRACTIVE_LIGHT_CHECK float3 perLightContribution = ProcessAdditionalLight( lightIndex, From 14a4ce57aa1b3ceb60d05bb62e770fcad374bf85 Mon Sep 17 00:00:00 2001 From: sin Date: Wed, 24 Jun 2026 10:59:52 +0900 Subject: [PATCH 4/5] replace USE_FORWARD_PLUS to USE_CLUSTER_LIGHT_LOOP --- .../Runtime/Shaders/URP/UniversalToonBody.hlsl | 2 +- .../Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl | 4 ++-- .../Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl index f25f9e479..9cb8eabfa 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl @@ -77,7 +77,7 @@ half3 GlobalIlluminationUTS(BRDFData brdfData, half3 bakedGI, half occlusion, ha half fresnelTerm = Pow4(1.0 - saturate(dot(normalWS, viewDirectionWS))); half3 indirectDiffuse = bakedGI * occlusion; -#if USE_FORWARD_PLUS +#if USE_CLUSTER_LIGHT_LOOP half3 irradiance = CalculateIrradianceFromReflectionProbes(reflectVector, positionWS, brdfData.perceptualRoughness, normalizedScreenSpaceUV); half3 indirectSpecular = irradiance * occlusion; diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl index e8609553e..d7409dcf0 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl @@ -399,7 +399,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 float3 pointLightColor = 0; #ifdef _ADDITIONAL_LIGHTS -#if USE_FORWARD_PLUS +#if USE_CLUSTER_LIGHT_LOOP // directional lights in Forward Plus for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) { @@ -420,7 +420,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 pointLightColor += perLightContribution; } -#endif // USE_FORWARD_PLUS +#endif // USE_CLUSTER_LIGHT_LOOP // spot lights, etc const int pixelLightCount = GetAdditionalLightsCount(); diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl index 4c13de8af..f85758824 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl @@ -478,7 +478,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 #ifdef _ADDITIONAL_LIGHTS -#if USE_FORWARD_PLUS +#if USE_CLUSTER_LIGHT_LOOP // directional lights in Forward Plus for (uint loopCounter = 0; loopCounter < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); loopCounter++) { @@ -497,7 +497,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 pointLightColor += perLightContribution; } -#endif // USE_FORWARD_PLUS +#endif // USE_CLUSTER_LIGHT_LOOP // spot lights, etc const int pixelLightCount = GetAdditionalLightsCount(); From 310e9da57e4cc72149b64c6c7bee5fa87fd8a41f Mon Sep 17 00:00:00 2001 From: sin Date: Wed, 24 Jun 2026 11:00:22 +0900 Subject: [PATCH 5/5] replace _FORWARD_PLUS to _CLUSTER_LIGHT_LOOP --- .../Runtime/Shaders/Common/Parts/UnityToon.shadertemplate | 2 +- .../Shaders/Common/Parts/UnityToonTessellation.shadertemplate | 2 +- com.unity.toonshader/Runtime/Shaders/UnityToon.shader | 4 ++-- .../Runtime/Shaders/UnityToonTessellation.shader | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/com.unity.toonshader/Runtime/Shaders/Common/Parts/UnityToon.shadertemplate b/com.unity.toonshader/Runtime/Shaders/Common/Parts/UnityToon.shadertemplate index 9180846cd..75ad86f87 100644 --- a/com.unity.toonshader/Runtime/Shaders/Common/Parts/UnityToon.shadertemplate +++ b/com.unity.toonshader/Runtime/Shaders/Common/Parts/UnityToon.shadertemplate @@ -653,7 +653,7 @@ Shader "Toon/Toon" { #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS #pragma multi_compile _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _FORWARD_PLUS + #pragma multi_compile _ _CLUSTER_LIGHT_LOOP #if (!defined(UNITY_COMPILER_DXC) && (defined(UNITY_PLATFORM_OSX) || defined(UNITY_PLATFORM_IOS))) || defined(SHADER_API_PS5) #if defined(SHADER_API_PS5) || defined(SHADER_API_METAL) diff --git a/com.unity.toonshader/Runtime/Shaders/Common/Parts/UnityToonTessellation.shadertemplate b/com.unity.toonshader/Runtime/Shaders/Common/Parts/UnityToonTessellation.shadertemplate index 714528be6..92a59d70a 100644 --- a/com.unity.toonshader/Runtime/Shaders/Common/Parts/UnityToonTessellation.shadertemplate +++ b/com.unity.toonshader/Runtime/Shaders/Common/Parts/UnityToonTessellation.shadertemplate @@ -775,7 +775,7 @@ Shader "Toon/Toon (Tessellation)" { #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS #pragma multi_compile _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _FORWARD_PLUS + #pragma multi_compile _ _CLUSTER_LIGHT_LOOP #if (!defined(UNITY_COMPILER_DXC) && (defined(UNITY_PLATFORM_OSX) || defined(UNITY_PLATFORM_IOS))) || defined(SHADER_API_PS5) #if defined(SHADER_API_PS5) || defined(SHADER_API_METAL) diff --git a/com.unity.toonshader/Runtime/Shaders/UnityToon.shader b/com.unity.toonshader/Runtime/Shaders/UnityToon.shader index f24d03dcb..08969d8c8 100644 --- a/com.unity.toonshader/Runtime/Shaders/UnityToon.shader +++ b/com.unity.toonshader/Runtime/Shaders/UnityToon.shader @@ -1,4 +1,4 @@ -//Auto-generated on Thu Apr 23 05:23:09 UTC 2026 +//Auto-generated on Wed Jun 24 01:59:25 UTC 2026 Shader "Toon/Toon" { Properties { @@ -1093,7 +1093,7 @@ Shader "Toon/Toon" { #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS #pragma multi_compile _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _FORWARD_PLUS + #pragma multi_compile _ _CLUSTER_LIGHT_LOOP #if (!defined(UNITY_COMPILER_DXC) && (defined(UNITY_PLATFORM_OSX) || defined(UNITY_PLATFORM_IOS))) || defined(SHADER_API_PS5) #if defined(SHADER_API_PS5) || defined(SHADER_API_METAL) diff --git a/com.unity.toonshader/Runtime/Shaders/UnityToonTessellation.shader b/com.unity.toonshader/Runtime/Shaders/UnityToonTessellation.shader index 074c7e235..0ec42a9a9 100644 --- a/com.unity.toonshader/Runtime/Shaders/UnityToonTessellation.shader +++ b/com.unity.toonshader/Runtime/Shaders/UnityToonTessellation.shader @@ -1,4 +1,4 @@ -//Auto-generated on Thu Apr 23 05:23:09 UTC 2026 +//Auto-generated on Wed Jun 24 01:59:25 UTC 2026 Shader "Toon/Toon (Tessellation)" { Properties { @@ -1231,7 +1231,7 @@ Shader "Toon/Toon (Tessellation)" { #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS #pragma multi_compile _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _FORWARD_PLUS + #pragma multi_compile _ _CLUSTER_LIGHT_LOOP #if (!defined(UNITY_COMPILER_DXC) && (defined(UNITY_PLATFORM_OSX) || defined(UNITY_PLATFORM_IOS))) || defined(SHADER_API_PS5) #if defined(SHADER_API_PS5) || defined(SHADER_API_METAL)