Surface shader vertex function 'SplatmapVert' not found

I posted here: https://answers.unity.com/questions/1442235/surface-shader-vertex-function-splatmapvert-not-fo.html but looks like the forums are more handy. I think this is a simple matter of not understanding how references work in shaders but i posted all my code below my question to be safe.

I am trying to combine two working shaders into one new one but i get the error as seen in title. I am not sure why SplatmapVert is acceptable in the terrain shader i am taking it from but cannot be found when used in the combined shader. Here is the line i want to copy over: #pragma surface surf Lambert vertex:SplatmapVert finalcolor:SplatmapFinalColor finalprepass:SplatmapFinalPrepass finalgbuffer:SplatmapFinalGBuffer noinstancing

See below for (1)the terrain shader, (2)the FOW shader and (3)my attempt at combining them.

The terrain shader (with the pragma line i want):

 Shader "Nature/Terrain/Diffuse" {
     Properties {
         [HideInInspector] _Control ("Control (RGBA)", 2D) = "red" {}
         [HideInInspector] _Splat3 ("Layer 3 (A)", 2D) = "white" {}
         [HideInInspector] _Splat2 ("Layer 2 (B)", 2D) = "white" {}
         [HideInInspector] _Splat1 ("Layer 1 (G)", 2D) = "white" {}
         [HideInInspector] _Splat0 ("Layer 0 (R)", 2D) = "white" {}
         [HideInInspector] _Normal3 ("Normal 3 (A)", 2D) = "bump" {}
         [HideInInspector] _Normal2 ("Normal 2 (B)", 2D) = "bump" {}
         [HideInInspector] _Normal1 ("Normal 1 (G)", 2D) = "bump" {}
         [HideInInspector] _Normal0 ("Normal 0 (R)", 2D) = "bump" {}
         // used in fallback on old cards & base map
         [HideInInspector] _MainTex ("BaseMap (RGB)", 2D) = "white" {}
         [HideInInspector] _Color ("Main Color", Color) = (1,1,1,1)
     }
     CGINCLUDE
         #pragma surface surf Lambert vertex:SplatmapVert finalcolor:SplatmapFinalColor finalprepass:SplatmapFinalPrepass finalgbuffer:SplatmapFinalGBuffer noinstancing
         #pragma multi_compile_fog
         #include "TerrainSplatmapCommon.cginc"
         void surf(Input IN, inout SurfaceOutput o)
         {
             half4 splat_control;
             half weight;
             fixed4 mixedDiffuse;
             SplatmapMix(IN, splat_control, weight, mixedDiffuse, o.Normal);
             o.Albedo = mixedDiffuse.rgb;
             o.Alpha = weight;
         }
     ENDCG
     Category {
         Tags {
             "Queue" = "Geometry-99"
             "RenderType" = "Opaque"
         }
         // TODO: Seems like "#pragma target 3.0 _TERRAIN_NORMAL_MAP" can't fallback correctly on less capable devices?
         // Use two sub-shaders to simulate different features for different targets and still fallback correctly.
         SubShader { // for sm3.0+ targets
             CGPROGRAM
                 #pragma target 3.0
                 #pragma multi_compile __ _TERRAIN_NORMAL_MAP
             ENDCG
         }
         SubShader { // for sm2.0 targets
             CGPROGRAM
             ENDCG
         }
     }
     Dependency "AddPassShader" = "Hidden/TerrainEngine/Splatmap/Diffuse-AddPass"
     Dependency "BaseMapShader" = "Diffuse"
     Dependency "Details0"      = "Hidden/TerrainEngine/Details/Vertexlit"
     Dependency "Details1"      = "Hidden/TerrainEngine/Details/WavingDoublePass"
     Dependency "Details2"      = "Hidden/TerrainEngine/Details/BillboardWavingDoublePass"
     Dependency "Tree0"         = "Hidden/TerrainEngine/BillboardTree"
     Fallback "Diffuse"
}

The Fog of War shader i am trying to combine with it:

 Shader "Fog Of War/Terrain" {
     Properties {
         _MainTex ("Base (RGB)", 2D) = "white" {}
     }
     SubShader {
         Tags { "RenderType"="Opaque" }
         LOD 200
        
         CGPROGRAM
         #pragma surface surf Lambert
         #include "FOWIncludes.cginc"
         sampler2D _MainTex;
         sampler2D _FOWTex;
         float4 _FOWTex_ST;
         struct Input {
             float2 uv_MainTex;
             float3 worldPos;
         };
         void surf (Input IN, inout SurfaceOutput o) {
             half4 c = tex2D(_MainTex, IN.uv_MainTex);
             half4 fow = tex2D(_FOWTex, TRANSFORM_TEX(IN.worldPos.xz, _FOWTex));
             half4 t = TransformColourFOWAO(c, fow);
             o.Albedo = t.rgb;
             o.Alpha = t.a;
         }
         ENDCG
     }
     FallBack "Diffuse"
}

The combined result so far (should be the same effect as the FOW one above):

  •    Shader "Nature/Terrain/FOW"
       {
           Properties
           {
               [HideInInspector] _Control ("Control (RGBA)", 2D) = "red" {}
               [HideInInspector] _Splat3 ("Layer 3 (A)", 2D) = "white" {}
               [HideInInspector] _Splat2 ("Layer 2 (B)", 2D) = "white" {}
               [HideInInspector] _Splat1 ("Layer 1 (G)", 2D) = "white" {}
               [HideInInspector] _Splat0 ("Layer 0 (R)", 2D) = "white" {}
               [HideInInspector] _Normal3 ("Normal 3 (A)", 2D) = "bump" {}
               [HideInInspector] _Normal2 ("Normal 2 (B)", 2D) = "bump" {}
               [HideInInspector] _Normal1 ("Normal 1 (G)", 2D) = "bump" {}
               [HideInInspector] _Normal0 ("Normal 0 (R)", 2D) = "bump" {}
               [HideInInspector] _MainTex ("BaseMap (RGB)", 2D) = "white" {}
               [HideInInspector] _Color ("Main Color", Color) = (1,1,1,1)
           }
          
               //CGINCLUDE
               //#pragma vertex:SplatmapVert finalcolor:SplatmapFinalColor
               //ENDCG
      
               SubShader
               {
                   Tags
                   { 
                       "RenderType"="Opaque"
                   }
                   LOD 200
              
                   CGPROGRAM
                   #pragma multi_compile_fog
                      #pragma surface surf Lambert //vertex:SplatmapVert finalcolor:SplatmapFinalColor finalprepass:SplatmapFinalPrepass finalgbuffer:SplatmapFinalGBuffer noinstancing
                   #include "FOWIncludes.cginc"
      
                   sampler2D _MainTex;
                   sampler2D _FOWTex;
                   float4 _FOWTex_ST;
      
                   struct Input
                   {
                       float2 uv_MainTex;
                       float3 worldPos;
                   };
      
      
                   void surf (Input IN, inout SurfaceOutput o)
                   {
                       half4 splat_control;
                       half weight;
                       fixed4 mixedDiffuse;
      
                       //SplatmapMix(IN, splat_control, weight, mixedDiffuse, o.Normal);
      
                       half4 c = tex2D(_MainTex, IN.uv_MainTex);
                       half4 fow = tex2D(_FOWTex, TRANSFORM_TEX(IN.worldPos.xz, _FOWTex));
                       half4 t = TransformColourFOWAO(c, fow);
      
      
                       o.Albedo = t.rgb;
                       o.Alpha = t.a;
                   }
                   ENDCG
      
      
      
               }
      
           Dependency "AddPassShader" = "Hidden/TerrainEngine/Splatmap/Diffuse-AddPass"
           Dependency "BaseMapShader" = "Diffuse"
           Dependency "Details0"      = "Hidden/TerrainEngine/Details/Vertexlit"
           Dependency "Details1"      = "Hidden/TerrainEngine/Details/WavingDoublePass"
           Dependency "Details2"      = "Hidden/TerrainEngine/Details/BillboardWavingDoublePass"
           Dependency "Tree0"         = "Hidden/TerrainEngine/BillboardTree"
      
           Fallback "Diffuse"
      
       }
    

The third shader misses an include that is present in the first one:
#include “TerrainSplatmapCommon.cginc”

:sweat_smile: That is embarrassing, too buys expecting something beyond my knowledge to see the obvious. Still got my work cut out but huge help. Thank you!