Surface Shader - Emission

I would like to know more about the Emission in the surface Output.

    struct SurfaceOutput {
        half3 Albedo;
        half3 Normal;
        half3 Emission;
        half Specular;
        half Gloss;
        half Alpha;
    };

When you write your own SurfaceOutput, you can’t delete the Emission Output. When you write to the Emission output, you have no control over its application.

How is the Emission applied, is it a simple Add ? Is it possible to control its application ?

Emission is applied at the end of the generated fragment shader frag_surf function. But only if it is written to in the surface shader function surf.

#endif // LIGHTMAP_OFF
  c.rgb += o.Emission;
  c.a = o.Alpha;
  return c;

Thank you very much !