Creating and Managing Materials

Materials control how surfaces look in Unity. If a mesh is the shape of an object, the material is a big part of what makes that object look like metal, wood, plastic, painted concrete, glass, fabric, or anything else.

For beginners, materials can seem confusing because they sit between:

  • textures
  • shaders
  • renderer settings

The easiest way to understand them is this:

  • the mesh is the object shape
  • the material tells Unity how that surface should be drawn
  • the shader inside the material decides how lighting and rendering behave
Recommended Setup

Keep material changes deliberate so visuals, shaders, and project organization stay easy to debug.

  1. Create materials in a predictable folder with clear names.
  2. Choose a compatible shader before tuning every property.
  3. Reuse shared materials when objects should update together, and duplicate only when the surface needs independent settings.
VRChat note

VRChat projects can have stricter shader, material, and platform requirements than a normal Unity scene, especially when Quest or Android support matters.

Playlist Companion

These videos line up with this page's material workflow because they move from beginner texture assignment into more deliberate material and shader choices for world surfaces.

Beginner world texturing

Follow-up material references

Why Materials Matter

Materials affect:

  • surface appearance
  • visual consistency
  • performance
  • project organization
  • platform compatibility

Beginners often think of materials as purely cosmetic, but they also matter technically. Too many materials, poor shader choices, or bad material organization can make a project harder to maintain and heavier to render.

Material decision Choose this when
Reuse one shared material Multiple objects should always look the same and update together.
Duplicate a material One object needs different color, texture, emission, transparency, or shader settings.
Change the shader The current shader is incompatible, missing features you need, or too expensive for the target platform.
Create a temporary material You are blocking out zones, testing readability, or marking interactable areas before final art exists.

How to Create a Material

To create a new material:

  1. In the Project window, go to the folder where you want it stored
  2. Right-click
  3. Choose Create -> Material
  4. Give it a clear name

Example names:

  • MAT_Wall_Concrete_A
  • MAT_Floor_Wood_Dark
  • MAT_Metal_Rail_Black

Clear names help a lot once the project starts growing.

Where Materials Should Be Stored

Keep materials in a predictable location.

A common beginner-friendly approach is:

  • Assets/Materials

If the project gets larger, you can use subfolders such as:

  • Assets/Materials/Environment
  • Assets/Materials/Props
  • Assets/Materials/UI
  • Assets/Materials/Temporary
  • Assets/Materials/ThirdParty

The goal is to avoid scattering materials randomly across the project.

How to Assign a Material to an Object

There are two common ways:

Drag onto the object

You can drag the material from the Project window onto an object in the Scene view.

Assign through the Renderer

  1. Select the object
  2. Look in the Inspector
  3. Find the Mesh Renderer or relevant renderer component
  4. Assign the material in the Materials list

Both methods work. Using the Inspector can be clearer when you want to see exactly which material slot you are editing.

Some meshes have more than one material slot. If the wrong part of the object changes, select the object, check the Renderer component, and confirm which material slot controls that surface.

What the Shader Does

Each material uses a shader.

The shader controls how the material behaves visually, including things like:

  • color response
  • lighting behavior
  • smoothness
  • transparency
  • texture handling

For beginners, the most practical advice is:

  • use simple, compatible shaders first
  • only move to more advanced shaders when you know why you need them
  • avoid changing shader families across an entire project without testing a copy first

A material with a very expensive shader may look interesting, but it can also create performance issues or compatibility problems.

Unity Inspector focused on a material using the VRChat Mobile Standard Lite shader with color, emission, and smoothness controls visible.
The material Inspector is where shader choice and surface settings become real project decisions, especially for VRChat-compatible materials.
Unity ProBuilder Material Editor showing a quick material field and material palette slots.
When you are editing ProBuilder meshes, the Material Editor can help assign and test blockout materials without leaving the ProBuilder workflow.

Working With Material Properties

When you select a material in the Project window, the Inspector lets you edit its properties.

Depending on the shader, you might see:

  • Base color
  • Texture slots
  • Metallic or smoothness controls
  • Normal map options
  • Emission
  • Transparency options
  • Tiling and offset controls
  • Render queue or surface type options

You do not need to understand every property immediately. Start with the basics:

  • color
  • texture assignment
  • simple surface response
Unity Project window filtered to show a library of material swatches and thumbnails.
A dedicated material library becomes much easier to browse when materials are named cleanly and stored together in predictable folders.

Reuse Materials When It Makes Sense

One of the most common beginner mistakes is creating too many nearly identical materials.

For example, if ten wall pieces all use the same visual treatment, they often should share the same material.

Reusing materials helps with:

  • consistency
  • easier global edits
  • simpler project structure
  • better performance in many cases

If you change a shared material, all objects using it update together. That can be very useful.

It can also surprise beginners. If one wall changes and five other walls change at the same time, they probably share the same material asset.

When to Make a Separate Material

A separate material makes sense when:

  • the surface needs a different look
  • the shader needs different behavior
  • the object is meant to stand out
  • sharing the same material would make future edits harder

The goal is not "use as few materials as possible at all costs." The goal is "use materials intentionally."

Situation Better choice
Ten identical wall panels Reuse one wall material.
One feature wall needs a different color Duplicate the wall material and rename it clearly.
Imported pack creates dozens of near-identical materials Review, consolidate, or leave them grouped inside the pack folder until you understand their references.
A transparent glass material is used everywhere Reconsider where transparency is actually needed.

Temporary Test Materials

During blockout or prototype work, temporary materials are useful for:

  • quickly identifying zones
  • testing color readability
  • differentiating floor, wall, and ceiling surfaces

For example:

  • neutral material for walls
  • darker material for floors
  • bright accent material for interactable areas

This can make early scenes easier to read before final art exists.

Common Material Problems

The object turns pink

Pink usually means the material's shader is missing, broken, or incompatible with the active render pipeline. Check the shader, render pipeline setup, and whether the material came from a different project type.

The material is assigned but looks wrong

Check the assigned shader, texture slots, lighting, material slot, tiling, and whether the object is using a renderer or prefab override you did not expect.

Too many materials are appearing in the project

This often happens when materials are duplicated repeatedly, imported assets create many versions, or naming is inconsistent. Consolidate carefully and keep third-party materials grouped until you know what uses them.

Good Beginner Material Habits

  • Keep a dedicated materials folder
  • Name materials clearly
  • Reuse materials where appropriate
  • Use simpler shaders first
  • Be careful with imported materials from third-party content
  • Keep temporary test materials labeled so they are easy to remove later
  • Check material slots before assuming an assignment failed

Materials and Performance

Materials affect rendering cost through both shader choice and material count.

Be especially careful with:

  • overly complex shaders
  • many transparent materials
  • emissive materials everywhere
  • creating many small unnecessary variations
  • assigning several materials to one mesh when one would do
  • using different materials for surfaces that could share an atlas or simple shader

A world can look good without every object using a unique fancy shader.

VRChat note

For cross-platform worlds, treat mobile-safe materials as a design constraint early. A material that looks fine on desktop can still be unsuitable for Android/Quest if it relies on expensive transparency, unsupported shaders, or too many unique variants.

A Practical Beginner Workflow

A good workflow for most projects looks like this:

  1. Create or import the mesh
  2. Create a material
  3. Choose a suitable shader
  4. Set basic color or textures
  5. Assign the material
  6. View it in the scene under real lighting
  7. Adjust if needed

This keeps the process simple and understandable.

References

Final Advice

Materials become much easier once you stop thinking of them as a mysterious visual system and start seeing them as organized surface definitions.

For beginners, the best habits are:

  • keep materials organized
  • name them clearly
  • reuse them intentionally
  • avoid expensive shader choices without a reason

That gives you better-looking scenes and a much easier project to manage.

Help! My material or shader looks wrong after changing it.

Check the assigned shader, texture slots, render pipeline, and platform target. Revert to the backed-up material if the conversion changed more than expected.

Help! Will this work on Quest or Android?

Assume mobile is stricter. Use mobile-safe shaders and test the Android build path before depending on the effect in a cross-platform VRChat project.

Related Navigation