Important: The Built-In Render Pipeline is deprecated and will be made obsolete in a future release.
It remains supported, including bug fixes and maintenance, through the full Unity 6.7 LTS lifecycle.
For more information on migration, refer to Migrating from the Built-In Render Pipeline to the Universal Render Pipeline and Render pipeline feature comparison.
Standard output structure of surface shaders 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 shaders 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
};