To draw something in Unity, you must provide information that describes its shape, and information that describes the appearance of its surface. You use meshes to describe shapes, and materials to describe the appearance of surfaces.
Materials and shadersA program that runs on the GPU. More info
See in Glossary are closely linked; you always use materials with shaders.
Feature | Universal Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info See in Glossary (URP) |
High Definition Render Pipeline (HDRP) | Custom Scriptable Render Pipeline (SRP) | Built-in Render Pipeline |
---|---|---|---|---|
Materials | Yes | Yes | Yes | Yes |
A material contains a reference to a Shader objectAn instance of the Shader class, a Shader object is container for shader programs and GPU instructions, and information that tells Unity how to use them. Use them with materials to determine the appearance of your scene. More info
See in Glossary. If that Shader object defines material properties, then the material can also contain data such as colors or references to textures.
The MaterialAn asset that defines how a surface should be rendered. More info
See in Glossary class represents a material in C# code. For information, see Using Materials with C# scripts.
A material asset is a file with the .mat
extension. It represents a material in your Unity project. For information on viewing and editing a material asset using the InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary window, see Material Inspector reference.
Unity supports functionality for creating variants of Materials. To learn more about this functionality, see Material Variants.