Version: 2023.1
Language : English
Materials
Material Inspector reference

Materials introduction

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.

This page contains the following information:

Render pipeline compatibility

Feature Built-in 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
Universal Render Pipeline (URP) High Definition Render Pipeline (HDRP) Custom Scriptable Render Pipeline (SRP)
Materials Yes Yes Yes Yes

Material fundamentals

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.

Creating a material asset, and assigning a shader to it

  1. To create a new material asset in your project, from the main menu or the Project View context menu, select Assets > Create > Material.
  2. To assign a shader to the material asset, in the Inspector window use the Shader drop-down menu.

Assigning a material asset to a GameObject

To render a GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
using a material:

  1. Add a component that inherits from Renderer. MeshRenderer is the most common and is suitable for most use cases, but SkinnedMeshRenderer, LineRenderer, or TrailRenderer might be more suitable if your GameObject has special requirements.
  2. Assign the material asset to the component’s Material property.

To render a particle systemA component that simulates fluid entities such as liquids, clouds and flames by generating and animating large numbers of small 2D images in the scene. More info
See in Glossary
in the Built-in Particle System using a material:

  1. Add a Renderer Module to the Particle System.
  2. Assign the material asset to the Renderer Module’s Material property.

Material Variants

Unity supports functionality for creating variants of Materials. To learn more about this functionality, see Material Variants.

Materials
Material Inspector reference