Shader "Synaptic/SkySphere" { Properties { _MainTex ("Texture", 2D) = "white" {} _Tint ("Tint Color", Color) = (1,1,1,1) } // URP SubShader SubShader { PackageRequirements { "com.unity.render-pipelines.universal" } Tags { "RenderType"="Background" "Queue"="Background" "RenderPipeline"="UniversalPipeline" } Pass { Name "SkySphereURP" Cull Front ZWrite Off HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; }; struct Varyings { float4 positionCS : SV_POSITION; float2 uv : TEXCOORD0; }; TEXTURE2D(_MainTex); SAMPLER(sampler_MainTex); CBUFFER_START(UnityPerMaterial) float4 _MainTex_ST; float4 _Tint; CBUFFER_END Varyings vert(Attributes IN) { Varyings OUT; OUT.positionCS = TransformObjectToHClip(IN.positionOS.xyz); OUT.uv = TRANSFORM_TEX(IN.uv, _MainTex); return OUT; } half4 frag(Varyings IN) : SV_Target { half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, IN.uv) * _Tint; return col; } ENDHLSL } } // HDRP SubShader SubShader { PackageRequirements { "com.unity.render-pipelines.high-definition" } Tags { "RenderType"="Background" "Queue"="Background" "RenderPipeline"="HDRenderPipeline" } Pass { Name "SkySphereHDRP" Cull Front ZWrite Off HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; }; struct Varyings { float4 positionCS : SV_POSITION; float2 uv : TEXCOORD0; }; TEXTURE2D(_MainTex); SAMPLER(sampler_MainTex); float4 _MainTex_ST; float4 _Tint; Varyings vert(Attributes IN) { Varyings OUT; OUT.positionCS = TransformObjectToHClip(IN.positionOS.xyz); OUT.uv = IN.uv * _MainTex_ST.xy + _MainTex_ST.zw; return OUT; } half4 frag(Varyings IN) : SV_Target { half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, IN.uv) * _Tint; return col; } ENDHLSL } } // Built-in Render Pipeline fallback SubShader { Tags { "RenderType"="Background" "Queue"="Background" } Pass { Name "SkySphereBuiltIn" Cull Front ZWrite Off CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; struct v2f { float4 vertex : SV_POSITION; float2 uv : TEXCOORD0; }; sampler2D _MainTex; float4 _MainTex_ST; float4 _Tint; v2f vert(appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.uv, _MainTex); return o; } fixed4 frag(v2f i) : SV_Target { fixed4 col = tex2D(_MainTex, i.uv) * _Tint; return col; } ENDCG } } FallBack Off }