We use cookies. Privacy

twirl
Pricing

How to Make a Material in Unity (URP) from PBR Textures

November 6, 2026·twirl

How to make a material in Unity with the URP Lit shader, import a PBR texture set with the right settings, turn roughness into smoothness, and apply the material to an object.

To make a material in Unity, go to Assets > Create > Material, select the new material, and check that its Shader is Universal Render Pipeline/Lit. Assign your color texture to Base Map and your normal map to Normal Map in the Inspector. Then select your object and put the material in the Materials list of its Mesh Renderer.

That covers the basics. A full PBR texture set takes a little more work in Unity, mostly because URP uses smoothness instead of roughness. The steps below cover texture import settings, where each map goes, tiling, and pink materials. We checked them against the Unity 6.6 manual. Labels can differ slightly in other versions.

Free PBR materials

board-formed concrete
board-formed concrete
2K upscale4K upscale
weathered concrete
weathered concrete
2K upscale4K upscale
hardwood floor
hardwood floor
2K upscale4K upscale
brushed steel
brushed steel
2K upscale4K upscale
red brick
red brick
2K upscale4K upscale
exposed brick
exposed brick
2K upscale4K upscale
sandstone
sandstone
2K upscale4K upscale
mossy stone
mossy stone
2K upscale4K upscale
oxidized copper
oxidized copper
2K upscale4K upscale
rusted iron
rusted iron
2K upscale4K upscale
white paint
white paint
2K upscale4K upscale
limestone
limestone
2K upscale4K upscale
polished concrete
polished concrete
2K upscale4K upscale
brass
brass
2K upscale4K upscale
linen
linen
2K upscale4K upscale
parking lot asphalt
parking lot asphalt
2K upscale4K upscale
mossy brick
mossy brick
2K upscale4K upscale
smooth concrete
smooth concrete
2K upscale4K upscale
galvanized steel
galvanized steel
2K upscale4K upscale
old saddle leather, vegetable tanned, burnished
old saddle leather, vegetable tanned, burnished
2K upscale4K upscale
board-formed concrete
board-formed concrete
2K upscale4K upscale
weathered concrete
weathered concrete
2K upscale4K upscale
hardwood floor
hardwood floor
2K upscale4K upscale
brushed steel
brushed steel
2K upscale4K upscale
red brick
red brick
2K upscale4K upscale
exposed brick
exposed brick
2K upscale4K upscale
sandstone
sandstone
2K upscale4K upscale
mossy stone
mossy stone
2K upscale4K upscale
oxidized copper
oxidized copper
2K upscale4K upscale
rusted iron
rusted iron
2K upscale4K upscale
white paint
white paint
2K upscale4K upscale
limestone
limestone
2K upscale4K upscale
polished concrete
polished concrete
2K upscale4K upscale
brass
brass
2K upscale4K upscale
linen
linen
2K upscale4K upscale
parking lot asphalt
parking lot asphalt
2K upscale4K upscale
mossy brick
mossy brick
2K upscale4K upscale
smooth concrete
smooth concrete
2K upscale4K upscale
galvanized steel
galvanized steel
2K upscale4K upscale
old saddle leather, vegetable tanned, burnished
old saddle leather, vegetable tanned, burnished
2K upscale4K upscale
Browse materials

What you need before you start

You need a project that uses the Universal Render Pipeline (URP), an object in your scene, and a PBR texture set. A typical set has base color, normal, roughness, and metallic maps, and sometimes height and ambient occlusion. If you are not sure what each one does, start with what PBR maps actually are.

If you need a set to practice with, our list of free PBR texture sites covers where to find them and what each license allows. twirl's public wood, brick, and stone materials also download for free without an account, as separate albedo, normal, roughness, metallic, and height maps. We make twirl, so weigh our opinion of it accordingly.

How to make a material in Unity

  1. Import the textures. Drag the image files into a folder in the Project window.
  2. Fix the import settings. Select each texture and adjust it in the Inspector. The next section has the details.
  3. Create the material. In the Project window, right-click and choose Create > Material, or use Assets > Create > Material from the main menu. The Unity manual lists both. Name it, for example M_Brick.
  4. Check the shader. Select the material. In the Inspector, the Shader dropdown should read Universal Render Pipeline/Lit. Change it there if it does not.
  5. Set the workflow. Under Surface Options, leave Workflow Mode on Metallic for a standard metallic/roughness texture set.
  6. Assign the maps. Under Surface Inputs, click the small circle next to each slot, or drag a texture onto it. The table below shows which map goes where.
  7. Apply it to an object. Select the object. In its Mesh Renderer component, open Materials and assign your material to Element 0.

Which texture goes in which slot?

These are the slots in the URP Lit shader reference:

Map Import setting Lit material slot
Base color or albedo Default, sRGB on Base Map
Metallic Default, sRGB off Metallic Map
Roughness Invert to smoothness first Alpha of the Metallic Map
Normal Texture Type: Normal Map Normal Map
Ambient occlusion Default, sRGB off Occlusion Map
Height Default, sRGB off Height Map

The two rows that trip people up are roughness and height.

Roughness has no slot. The Lit shader has a Smoothness value from 0 to 1, where 0 is a wide, rough highlight and 1 is sharp, like glass. Smoothness is roughness turned upside down. By default, the shader reads it from the alpha channel of the Metallic Map. The Smoothness Source dropdown can switch it to the Base Map alpha instead. Either way, you need to invert your roughness map and pack it into a texture's alpha. Our guide to using a roughness map in Unity URP walks through that.

If you just want something on screen, leave the alpha alone and set the Smoothness slider by hand. A single value is fine for testing. It will not give you the scratches and smudges a roughness map carries.

Height is optional. Unity describes the Height Map as adding larger bumps and protrusions. A normal map alone is often enough. See height maps and parallax in Unity URP before you use it.

What import settings do PBR textures need in Unity?

Select a texture in the Project window to see its import settings in the Inspector. Click Apply after each change.

  • Base color: leave the Texture Type on Default with sRGB (Color Texture) on.
  • Metallic, AO, height, and packed textures: these store data, not color. Unity's page on disabling sRGB sampling says to set the Texture Type for the texture's use and uncheck sRGB (Color Texture). Our PBR texture color space guide explains why this matters.
  • Normal: set Texture Type to Normal Map. If you forget, the material Inspector warns you and offers a Fix Now button, as described in Unity's normal map import page.

If the bumps look inverted, the normal map may use a different green-channel convention from the one Unity expects. The Normal Map import settings have a Flip Green Channel option. Our post on a normal map that looks inverted in Unity covers when to use it. Do not use Create From Grayscale on a real normal map. That option is for turning a grayscale height map into a normal map.

How to use a channel-packed texture in URP

If you already pack your maps, URP Lit and Complex Lit can read one texture for metallic, occlusion, and smoothness. Unity's channel-packed texture page gives this layout:

Channel Property
Red Metallic
Green Occlusion
Blue Not used
Alpha Smoothness
  1. Build the texture in an image editor or texture tool. Remember that alpha holds smoothness, so invert the roughness map before you pack it.
  2. Import it and uncheck sRGB (Color Texture).
  3. Assign the same texture to both Metallic Map and Occlusion Map. Unity reads the right channels for each.

This is not the same layout as an ORM texture made for Unreal, which puts roughness in green. Our ORM texture guide covers the common orders. HDRP uses a different packed texture again, the Mask Map.

How to change texture tiling in Unity

If the texture looks too large or too small on the object, change the material's Tiling values under Surface Inputs. The default is 1. Higher values repeat the texture more often. Offset moves the texture across the surface.

Tiling on the Lit material applies to all of its surface textures together, so the maps stay lined up. Repeating only looks clean if the texture is seamless and its Wrap Mode is set to Repeat in the import settings. If you can see the repeat, our guide to making a texture seamless covers the fixes.

The object also needs sensible UVs. If the texture is stretched on one side, the UV layout is the problem, not the material. Fix it in your modeling tool and re-export.

Why is my material pink in Unity?

Bright pink usually means the material's shader does not work with your render pipeline. The most common case is a Built-in Render Pipeline material in a URP project. Unity's upgrade guide gives two fixes:

  1. Back up your materials.
  2. To convert everything: go to Window > Rendering > Render Pipeline Converter, choose Built-in to URP, enable Material Upgrade, and click Initialize and Convert.
  3. To convert a few: select the materials in the Project window and choose Edit > Rendering > Materials > Convert Selected Built-in Materials to URP.

The Built-in Standard shader maps to Universal Render Pipeline/Lit. If a material still shows errors after converting, it likely uses a custom shader that the converter cannot handle.

Common Unity material problems

Problem Likely cause Fix
Material is bright pink Shader does not match the render pipeline Use the Render Pipeline Converter
Normal Map slot shows a warning Texture not marked as a normal map Click Fix Now
Bumps look inverted Normal map uses the other green-channel convention Enable Flip Green Channel
Rough areas look shiny Roughness used as smoothness without inverting Invert it first
Surface looks washed out or too dark sRGB on for a data texture Uncheck sRGB (Color Texture)
Texture is stretched Poor UVs on the mesh Fix the UVs and re-export
Repeat is obvious Texture is not seamless Use a seamless texture

For the DirectX and OpenGL difference in more depth, see OpenGL vs DirectX normals.

Getting twirl materials into Unity

twirl exports separate albedo, normal, roughness, metallic, and height maps. Albedo, normal, metallic, and height fit the table above directly. Roughness needs inverting into smoothness, and twirl does not currently export a packed Unity texture, so you pack that yourself. There is no Unity plugin yet. You import the PNG files by hand. The twirl Unity page summarizes the setup.

If the surface you need is not in a library, the AI material generator can create the same five-map set from a text prompt.

FAQ: making materials in Unity

How do I add a texture to a material in Unity?

Select the material, find the slot under Surface Inputs, and drag the texture onto it or click the circle next to the slot to pick it. For a plain color image, use Base Map.

How do I apply a material to multiple objects in Unity?

Assign the same material asset to each object's Mesh Renderer. They all share it, so editing the material changes every object that uses it.

Why does my object have more than one material slot?

The mesh has more than one submesh. Each element in the Mesh Renderer's Materials list covers one part of the mesh. The Mesh Renderer reference notes that extra materials beyond the submesh count are drawn on top of the last submesh, which costs performance.

Do these steps work in HDRP or the Built-in Render Pipeline?

The general steps do, but the shader and slots differ. HDRP's Lit shader uses a packed Mask Map. The Built-in pipeline uses the Standard shader. This guide covers URP Lit only.

Can I use Blender textures in Unity?

Yes. The image files are the same. Import the normal map as a Normal Map, and try Flip Green Channel if the bumps read backwards. Roughness still needs converting to smoothness. If you are coming from Blender, our Blender texture guide shows the equivalent setup there, and our Unreal Engine 5 material guide covers the same job in Unreal.

Free PBR materials

board-formed concrete
board-formed concrete
2K upscale4K upscale
weathered concrete
weathered concrete
2K upscale4K upscale
hardwood floor
hardwood floor
2K upscale4K upscale
brushed steel
brushed steel
2K upscale4K upscale
red brick
red brick
2K upscale4K upscale
exposed brick
exposed brick
2K upscale4K upscale
sandstone
sandstone
2K upscale4K upscale
mossy stone
mossy stone
2K upscale4K upscale
oxidized copper
oxidized copper
2K upscale4K upscale
rusted iron
rusted iron
2K upscale4K upscale
white paint
white paint
2K upscale4K upscale
limestone
limestone
2K upscale4K upscale
polished concrete
polished concrete
2K upscale4K upscale
brass
brass
2K upscale4K upscale
linen
linen
2K upscale4K upscale
parking lot asphalt
parking lot asphalt
2K upscale4K upscale
mossy brick
mossy brick
2K upscale4K upscale
smooth concrete
smooth concrete
2K upscale4K upscale
galvanized steel
galvanized steel
2K upscale4K upscale
old saddle leather, vegetable tanned, burnished
old saddle leather, vegetable tanned, burnished
2K upscale4K upscale
board-formed concrete
board-formed concrete
2K upscale4K upscale
weathered concrete
weathered concrete
2K upscale4K upscale
hardwood floor
hardwood floor
2K upscale4K upscale
brushed steel
brushed steel
2K upscale4K upscale
red brick
red brick
2K upscale4K upscale
exposed brick
exposed brick
2K upscale4K upscale
sandstone
sandstone
2K upscale4K upscale
mossy stone
mossy stone
2K upscale4K upscale
oxidized copper
oxidized copper
2K upscale4K upscale
rusted iron
rusted iron
2K upscale4K upscale
white paint
white paint
2K upscale4K upscale
limestone
limestone
2K upscale4K upscale
polished concrete
polished concrete
2K upscale4K upscale
brass
brass
2K upscale4K upscale
linen
linen
2K upscale4K upscale
parking lot asphalt
parking lot asphalt
2K upscale4K upscale
mossy brick
mossy brick
2K upscale4K upscale
smooth concrete
smooth concrete
2K upscale4K upscale
galvanized steel
galvanized steel
2K upscale4K upscale
old saddle leather, vegetable tanned, burnished
old saddle leather, vegetable tanned, burnished
2K upscale4K upscale
Browse materials

What to do next

Browse

Public materials

Browse public materials and download tileable PBR sets without an account.

Browse public materials
Read next

How to Make a Material in Unreal Engine 5 from PBR Textures

How to make a material in Unreal Engine 5 from a set of PBR textures, connect each map in the Material Editor, turn it into a reusable Material Instance, and apply it to a mesh.

Continue reading

Sources

  • Unity Manual: Create and assign a material
  • Unity Manual: Lit shader material Inspector reference for URP
  • Unity Manual: Assign a channel-packed texture to a URP material
  • Unity Manual: Disable sRGB sampling for a texture
  • Unity Manual: Import a normal map
  • Unity Manual: Normal Map texture Import Settings
  • Unity Manual: Upgrade material assets to URP or HDRP
  • Unity Manual: Built-In Render Pipeline shaders in URP
  • Unity Manual: Mesh Renderer component reference
twirl
© 2026 twirlTermsPrivacyContactFeatured on ToolPilotTwelve Tools