@aleksandrk Does the unity standard shader dynamically add all of the multi compiles then, or how does that work? it is a bit tedious to add multi compiles to lots of shaders when we could just include the cginc.
Surface shaders add those when generating code, yes. As of Unity 2020.2 it's possible to put #pragma directives in includes, but those have to be included using #include_with_pragmas directive. This also requires turning Caching preprocessor on in Editor project settings.