Version: Unity 6 (6000.0)
Language : English
Shader methods in the Built-In Render Pipeline
Use built-in shader functions in the Built-In Render Pipeline

Import a file from the shader library in the Built-In Render Pipeline

Unity contains several files that can be used by your shader programs to bring in predefined variables and helper functions. This is done by the standard #include directive, e.g.:

CGPROGRAM
// ...
#include "UnityCG.cginc"
// ...
ENDCG

Shader include files in Unity are with .cginc extension, and the built-in ones are:

  • HLSLSupport.cginc - (automatically included) It declares various preprocessor macros to aid in multi-platform shaderA program that runs on the GPU. More info
    See in Glossary
    development.
  • UnityShaderVariables.cginc - (automatically included in CGPROGRAM shaders) It declares various built-in global variables that are commonly used in shaders.
  • UnityCG.cginc - commonly used built-in helper functions and data structures.
  • AutoLight.cginc - lighting & shadowing functionality, e.g. surface shadersA streamlined way of writing shaders for the Built-in Render Pipeline. More info
    See in Glossary
    use this file internally.
  • Lighting.cginc - standard surface shader lighting models; automatically included when you’re writing surface shaders.
  • TerrainEngine.cginc - helper functions for TerrainThe landscape in your scene. A Terrain GameObject adds a large flat plane to your scene and you can use the Terrain’s Inspector window to create a detailed landscape. More info
    See in Glossary
    & Vegetation shaders.

These files are found inside Unity application ({unity install path}/Data/CGIncludes/UnityCG.cginc on Windows, /Applications/Unity/Unity.app/Contents/CGIncludes/UnityCG.cginc on Mac), if you want to take a look at what exactly is done in any of the helper code.

Shader methods in the Built-In Render Pipeline
Use built-in shader functions in the Built-In Render Pipeline