Version: Unity 6 (6000.0)
Language : English
Introduction to surface shaders in the Built-In Render Pipeline
Surface Shaders and rendering paths in the Built-In Render Pipeline

Surface Shader output structures in the Built-In Render Pipeline

Standard output structure of surface shadersA program that runs on the GPU. More info
See in Glossary
is this:

struct SurfaceOutput
{
    fixed3 Albedo;  // diffuse color
    fixed3 Normal;  // tangent space normal, if written
    fixed3 Emission;
    half Specular;  // specular power in 0..1 range
    fixed Gloss;    // specular intensity
    fixed Alpha;    // alpha for transparencies
};

In Unity 5, surface shadersA streamlined way of writing shaders for the Built-in Render Pipeline. More info
See in Glossary
can also use physically based lighting models. Built-in Standard and StandardSpecular lighting models (see below) use these output structures respectively:

struct SurfaceOutputStandard
{
    fixed3 Albedo;      // base (diffuse or specular) color
    fixed3 Normal;      // tangent space normal, if written
    half3 Emission;
    half Metallic;      // 0=non-metal, 1=metal
    half Smoothness;    // 0=rough, 1=smooth
    half Occlusion;     // occlusion (default 1)
    fixed Alpha;        // alpha for transparencies
};
struct SurfaceOutputStandardSpecular
{
    fixed3 Albedo;      // diffuse color
    fixed3 Specular;    // specular color
    fixed3 Normal;      // tangent space normal, if written
    half3 Emission;
    half Smoothness;    // 0=rough, 1=smooth
    half Occlusion;     // occlusion (default 1)
    fixed Alpha;        // alpha for transparencies
};
Introduction to surface shaders in the Built-In Render Pipeline
Surface Shaders and rendering paths in the Built-In Render Pipeline