Version: Unity 6.4 Alpha (6000.4)
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
{
    half3 Albedo;   // diffuse color
    half3 Normal;   // tangent space normal, if written
    half3 Emission;
    half Specular;  // specular power in 0..1 range
    half Gloss; // specular intensity
    half 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
{
    half3 Albedo;       // base (diffuse or specular) color
    half3 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)
    half Alpha;     // alpha for transparencies
};
struct SurfaceOutputStandardSpecular
{
    half3 Albedo;       // diffuse color
    half3 Specular; // specular color
    half3 Normal;       // tangent space normal, if written
    half3 Emission;
    half Smoothness;    // 0=rough, 1=smooth
    half Occlusion;     // occlusion (default 1)
    half 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