ok it needs a few extra lines for this batching to work,
#pragma multi_compile_instancing
struct VertexInput {
...
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct VertexOutput {
...
UNITY_VERTEX_INPUT_INSTANCE_ID
};
VertexOutput vert (VertexInput v) {
VertexOutput o = (VertexOutput)0;
...
UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
float3 lightColor = _LightColor0.rgb;
o.pos = UnityObjectToClipPos( v.vertex );
UNITY_TRANSFER_FOG(o,o.pos);
return o;
}
Possibly this is working as intended, but I was under the impression enable instancing option would add these lines or something similar.