Asking for modify shader

Hi! I have this shader, for world-coordinated texture:

Shader "Custom/WS Base (m)" {
    Properties {
 
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Base Color", 2D) = "white" {}
        _UVs ("UV Scale", float) = 1.0
 
    }
 
    SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 300
       
        CGPROGRAM
        // Physically based Standard lighting model, and enable shadows on all light types
        #pragma surface surf StandardSpecular fullforwardshadows vertex:vert
 
        // Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0
 
        #include "UnityCG.cginc"
 
        sampler2D _MainTex;
        fixed4 _Color;
        float _UVs;
//        float3 worldPos;
//        float3 worldNormal;
 
        struct Input {
 
                float2 uv_MainTex;
                float3 worldPos;
                float3 worldNormal;
 
        };
 
 
        //---- World Position Alignment Test ----
 
        void vert (inout appdata_full v) {
 
       //Texture Coordinates rotation and rescale
 
   
        }
 
 
        UNITY_INSTANCING_CBUFFER_START(Props)
        UNITY_INSTANCING_CBUFFER_END
 
        void surf (Input IN, inout SurfaceOutputStandardSpecular o) {
 
 
        //---- World Space (Aligned) Evaluation Here -----
 
            float3 Pos = IN.worldPos / (-1.0 * abs(_UVs) );
 
            float3 c00 = tex2D (_MainTex, IN.worldPos / 10);
 
            float3 c1 = tex2D ( _MainTex, Pos.yz ).rgb;
            float3 c2 = tex2D ( _MainTex, Pos.xz ).rgb;
            float3 c3 = tex2D ( _MainTex, Pos.xy ).rgb;
 
            float alpha21 = abs (IN.worldNormal.x);
            float alpha23 = abs (IN.worldNormal.z);
 
            float3 c21 = lerp ( c2, c1, alpha21 ).rgb;
            float3 c23 = lerp ( c21, c3, alpha23 ).rgb;
 
            //---- Base Color Adjustment -----
 
            fixed3 c = c23 * _Color;
            o.Albedo = c23;
 
 
        }
        ENDCG
    }
    FallBack "Diffuse"
}

And my only need is to set offset to X or Y. For example I want to move this texture slighly up, to match 1x1 tile:

Bump map would be also great… :wink:

I asked this also on old forum in old topic where code was firstly published by @Windcrosser and answered by @POOKSHANK

There is a full solution, with Offset exposed to unity material:

Shader "Custom/WS Base (m)"
{
 
     Properties {
 
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Base Color", 2D) = "white" {}
        _UVs ("UV Scale", float) = 1.0
	        _Offset ("Offset", Vector) = (0,0,0,0)
    }
 
    SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 200
       
        CGPROGRAM
        // Physically based Standard lighting model, and enable shadows on all light types
        //#pragma surface surf StandardSpecular fullforwardshadows vertex:vert
        #pragma surface surf StandardSpecular fullforwardshadows
 
        // Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0
 
   //     #include "UnityCG.cginc"
 
        sampler2D _MainTex;
        fixed4 _Color;
        float _UVs;
		float4 _Offset;
//        float3 worldPos;
//        float3 worldNormal;
 
        struct Input {
 
                float2 uv_MainTex;
                float3 worldPos;
                float3 worldNormal;
 
        };
 
 
        //---- World Position Alignment Test ----
 
       // void vert (inout appdata_full v) {
 
       //Texture Coordinates rotation and rescale
 
   
        //}
 
 
        UNITY_INSTANCING_BUFFER_START(Props)
        UNITY_INSTANCING_BUFFER_END(Props)
 
        void surf (Input IN, inout SurfaceOutputStandardSpecular o) {
 
 
        //---- World Space (Aligned) Evaluation Here -----
  
		float3 Pos = (IN.worldPos + _Offset) / (-1.0 * abs(_UVs) );
 
            //float3 c00 = tex2D (_MainTex, IN.worldPos / 10);
 
            float3 c1 = tex2D ( _MainTex, Pos.yz ).rgb;
            float3 c2 = tex2D ( _MainTex, Pos.xz ).rgb;
            float3 c3 = tex2D ( _MainTex, Pos.xy ).rgb;
 
            float alpha21 = abs (IN.worldNormal.x);
            float alpha23 = abs (IN.worldNormal.z);
 
            float3 c21 = lerp ( c2, c1, alpha21 ).rgb;
            float3 c23 = lerp ( c21, c3, alpha23 ).rgb;
 
            //---- Base Color Adjustment -----
 
           // fixed3 c = c23 * _Color;
            o.Albedo = c23 * _Color;
  
        }
        ENDCG
    }
    FallBack "Diffuse"
}