Create and Apply a Solid-Color Material in Unity
A material describes how Unity renders a surface. Every material references a shader, and the shader defines which properties—such as color, textures, metallic response, or smoothness—the Material Inspector displays.
This guide creates a reusable material asset with one solid color and assigns it to a mesh.
Create one material asset, set its color, and assign it through the object's Renderer component.
- Select Assets → Create → Material and name the new asset.
- Select the material, confirm its shader, and set the shader's main color property.
- Assign the material to an element in the Mesh Renderer's Materials list.
VRChat recommends minimizing material count for Android content and notes that flat colors can reduce texture memory. For a highly optimized basic Android world shader, its documentation recommends Mobile/VRChat/Lightmapped with baked lighting.
Mesh, Material, Shader, and Renderer
These four parts have different jobs:
| Part | Purpose |
|---|---|
| Mesh | Defines the object's shape |
| Material | Stores the surface settings in a .mat asset |
| Shader | Defines how Unity renders the material and which properties it exposes |
| Renderer | Draws the mesh and holds the list of assigned materials |
For a normal, non-deforming mesh, Unity uses a Mesh Filter to reference the mesh and a Mesh Renderer to render it. A character or other deforming mesh normally uses a Skinned Mesh Renderer instead.
1. Create the Material Asset
In the Project window:
- Open the folder where the material should be stored.
- Select Assets → Create → Material, or use the same command from the Project window's context menu.
- Give the material a descriptive name, such as
MAT_Blockout_Wall_Blue.
Unity saves a material asset as a file with the .mat extension. Keeping material assets in a dedicated folder makes them easier to find and reuse.
2. Select the Shader
Select the material asset. In the Inspector, use the Shader dropdown to choose the shader the material should reference.
The shader determines the rest of the Material Inspector. A color field might be labeled Albedo, Base Map, Base Color, Color, or something else depending on the selected shader. Do not rely on a property from one shader appearing in another.
For Unity's Built-in Render Pipeline Standard shader, the Albedo property controls the material's base color and transparency.
3. Set a Solid Color
With the material selected:
- Find the shader's main color property.
- Select its color swatch to open Unity's Color window.
- Pick the required color.
- Leave the texture slot empty if the material should display only that color.
In the Standard shader, Unity also provides Metallic and Smoothness controls. Metallic changes how metallic the surface behaves; Smoothness changes the sharpness of its reflections. These are surface properties, not brightness controls.
4. Assign the Material to a Mesh
Select the GameObject that contains the mesh:
- Find its Mesh Renderer component in the Inspector.
- Expand the Materials section.
- Assign the material asset to Element 0.
The Mesh Renderer lists every material used by the component. Each Element accepts a material asset.
If the object uses a Skinned Mesh Renderer, make the assignment in that component's material list instead.
Multiple Material Slots
A mesh can contain multiple submeshes, and its Renderer can contain multiple material elements. The first material is assigned to the first submesh, the second material to the second submesh, and so on.
If changing Element 0 affects only part of the model, inspect the remaining material elements. The model may have more than one submesh.
Do not add duplicate opaque materials merely to fill extra elements. Unity's Mesh Renderer documentation warns that materials beyond the number of submeshes are applied over the last submesh; additional opaque layers add rendering cost without a visible benefit.
Reuse or Create Another Material
Assign the same material asset to several Renderers when those surfaces should share the same settings. When one surface needs a different color or shader configuration, create or duplicate a separate material asset and assign that instead.
| Requirement | Material choice |
|---|---|
| Several blockout walls use the same blue | Assign one shared material |
| One wall needs a different color | Assign a separate material |
| Several meshes use the same shader settings | Reuse the material where appropriate |
| One surface requires a different shader | Create a separate material |
For VRChat Android content, intentional reuse also helps avoid unnecessary material slots. VRChat notes that every additional material creates an additional submesh and contributes to draw-call cost.
The object turns bright pink.
Bright pink usually indicates that Unity cannot use the assigned shader. Select the material, check its Shader field, and choose a shader compatible with the project's render pipeline and target platform.
The material color does not appear on the object.
Confirm that the material is assigned to the correct Renderer element. If the model contains multiple submeshes, check every entry in the Materials list.
The color looks different from the Inspector swatch.
A lit shader responds to the scene's lights, shadows, and reflections. Check the material on the object under the lighting used in the scene.
Changing the material affects several objects.
The Renderers reference the same material asset. Assign a separate material when one object needs independent settings.
I cannot find Albedo in the Material Inspector.
Albedo is the Built-in Standard shader's label. Other shaders use different property names and controls. Check the material's Shader field, then use the main color property provided by that shader.
Will this material work in a VRChat Android world?
Check the selected shader on the Android build target and test the world on that platform. VRChat recommends Mobile/VRChat/Lightmapped with baked lighting when a basic optimized Android world shader is suitable.
Official References
- Unity Manual 2022.3: Materials introduction
- Unity Manual 2022.3: Material Inspector reference
- Unity Manual 2022.3: Mesh Renderer component
- Unity Manual 2022.3: Standard Shader Albedo
- VRChat Creation: Android Content Optimization
Continue Learning
- Create and Manage Materials
- Apply a Texture to an Object
- ProBuilder Blockout Workflow for VR Worlds
- Set Up a Skybox and Environment Lighting in Unity