Materials & Lighting · Beginner · 15 min

PBR Basics: Base Color, Metallic, Roughness and Normal Explained

Demystify the four inputs every Unreal material is built on — Base Color, Metallic, Roughness and Normal — by plugging in numbers, watching each slider change the surface, and learning when to use a constant versus a texture.

LevelBeginner Time~15 min EngineUE 5.4+ Hands-on14 checkpoints

Before this: What Is a Material? Make Your First One in UE5

By the end, you'll be able to
  • Explain what 'physically based rendering' (PBR) means in plain English
  • Describe what Base Color, Metallic, Roughness and Normal each control
  • Tell when to feed an input a constant value versus a texture sample
  • Build a simple material and watch each input change the preview surface

What 'PBR' actually means

When you open the Material Editor in Unreal, the big node on the right has a row of input pins: Base Color, Metallic, Specular, Roughness, Normal and a few more. It looks intimidating, but four of those pins do almost all the work, and once you understand them you can describe nearly any real-world surface — wood, gold, rusty metal, wet stone, plastic.

PBR stands for 'physically based rendering'. That's a fancy way of saying the material system is built to mimic how light behaves in the real world: how much light a surface absorbs, how shiny or rough it is, whether it's a metal or not. Because the rules match reality, a surface you set up to look right in one scene tends to look right in any lighting — sunny, indoors, sunset — without you fiddling with it again.

In this lesson we'll meet the four inputs that matter most: Base Color, Metallic, Roughness and Normal. You'll plug a plain number into each one, watch the preview sphere change, and learn the single most useful idea in materials: when to use a constant value and when to use a texture.

The four inputs, in one sentence each

Tap a card to flip it

Constants vs textures — the big idea

Every one of those four inputs can be fed in two ways, and understanding the difference is the thing that makes materials click.

A constant is a single fixed value applied to the entire surface. Plug the colour red into Base Color and the whole object is uniformly red. Plug 0.3 into Roughness and the whole object is equally glossy everywhere. Constants are perfect for clean, man-made-looking surfaces — a painted wall, a plastic toy, a solid block of colour.

A texture sample is an image, and it can hand a different value to every single pixel of the surface. A wood texture in Base Color gives you grain and knots; a roughness texture lets the worn edges be shinier than the flat middle. This per-pixel variation is what makes a surface look real, because real materials are never perfectly uniform.

Rule of thumb for now: learn each input with a constant first (so you can see exactly what it does in isolation), then swap in a texture once you understand the behaviour. That's exactly the order we'll practise in.

Build a material and meet each input

Open the Material Editor on a fresh material (the previous lesson showed how to create one and double-click it). We'll wire up each input with a constant so you can watch it change the preview sphere in the top-left of the editor.

  1. 1Set a Base Color so you can see the surface

    In the material graph, right-click an empty space and add a 'Constant3Vector' node (a colour). Double-click it to open the colour picker and choose something obvious like a mid grey or a warm orange.

    Drag from the node's output pin to the 'Base Color' pin on the big main node. The preview sphere takes on that flat colour. That colour, with no shine yet, is your Base Color.

    TipA Constant3Vector holds three numbers (Red, Green, Blue), which is exactly what a colour needs. For single-number inputs like Roughness you'll use a plain 'Constant' (one value) instead.

  2. 2Add a Roughness constant and drag it from 0 to 1

    Right-click and add a 'Constant' node (the single-value one). Connect it to the 'Roughness' pin.

    Select the node and, in the Details panel, change its value. Try 0.1 — the sphere becomes a near-mirror with a tight, bright highlight. Now try 0.9 — the highlight spreads out and the surface goes soft and matte. This one input changes the feel of a material more than any other.

    TipRoughness lives between 0 and 1. Most everyday surfaces sit around 0.3 to 0.7 — pure 0 (a perfect mirror) is rare in the real world.

  3. 3Flip Metallic between 0 and 1

    Add another 'Constant' node and connect it to the 'Metallic' pin. Leave it at 0 first: the sphere looks like a painted or plastic object — light scatters off it and you still clearly see your Base Color.

    Now set it to 1. The surface suddenly reads as raw metal — the Base Color now tints the reflections instead of looking like paint. This is why Metallic is a switch: 0 is 'not metal', 1 is 'metal', and there's almost nothing meaningful in between.

    TipOn a metal, Base Color stops being 'the colour you see' and becomes 'the colour of the reflection'. That's why gold uses a yellowish Base Color at Metallic 1, and steel uses a near-white grey.

  4. 4See the difference Metallic + Roughness make together

    Keep Metallic at 1 and slide Roughness from low to high. Low roughness gives you polished chrome or a mirror-bright gold; high roughness gives you brushed or sandblasted metal.

    Then set Metallic back to 0 and do the same sweep — now you're going from glossy plastic to matte rubber. Two inputs, four very different materials. This pair is the backbone of PBR.

    TipIf you're ever unsure whether a surface is metal: ask 'would this conduct electricity?'. Gold, steel, copper, aluminium = Metallic 1. Wood, skin, cloth, stone, plastic, paint = Metallic 0.

  5. 5Add surface detail with a Normal map

    Drag a normal-map texture from the Content Browser into the graph (the starter content includes some), or right-click and add a 'TextureSample' node and pick a normal map in its Details panel. Connect its output to the 'Normal' pin.

    The sphere instantly gains bumps, grooves or a brick pattern — even though it's still a perfectly smooth sphere underneath. The Normal map is faking that detail by changing how light bounces off each pixel.

    TipNormal maps look like a flat purple-blue image in the Content Browser. That odd colour IS the data — each pixel encodes which way the surface 'tilts'. Never plug a normal map into Base Color, and never set its texture to sRGB.

  6. 6Save and apply

    Click 'Save' (or the Apply button) in the Material Editor toolbar. Drag the material from the Content Browser onto a mesh in your level to see it under your scene's real lighting, not just the preview sphere.

    Lighting changes everything about how a material reads — so always sanity-check a material on a real object in the actual scene, not only in the editor's preview.

    TipThe preview sphere uses a neutral studio light. Your level's sun, sky and Lumen bounce light will make the same material look noticeably different — that's expected, and it's the PBR system doing its job.

You set Metallic to 0.5 because the surface is 'a bit metallic, like painted metal'. Why is that usually the wrong instinct?

When do I use a constant vs a texture?

The surface is meant to be uniform: a single flat colour, an even gloss, a solid metal.

You're learning, prototyping, or blocking out — constants are instant, free to tweak, and let you see exactly what one input does.

Examples: a plain coloured plastic prop, a clean painted wall, an untextured metal bar.

QuizCheck yourself

1Which input controls how polished or matte a surface looks, from mirror to chalky?

2What values should Metallic almost always be set to?

3You want a wooden plank with grain, knots, and dark seams — different across its surface. What should feed Base Color?

Handy Material Editor shortcuts

  • Right-click Open the node menu on empty graph space (search for Constant, TextureSample, etc.)
  • 1 With a node-graph space focused, hold and click to drop a single-value Constant node
  • 3 Hold and click to drop a Constant3Vector (colour) node
  • Ctrl S Save the material
  • C Box-select nodes then press C to add a comment box (keep big graphs tidy)
ChallengeTry it yourself

Make three materials that are clearly different surfaces using only constants: (1) shiny gold, (2) matte black rubber, and (3) glossy red plastic. Drag each onto a separate mesh in your level and compare them under your scene lighting.

Hint 1

Gold: a yellow-orange Base Color, Metallic 1, low Roughness (try 0.1–0.2).

Hint 2

Rubber: a near-black Base Color, Metallic 0, high Roughness (try 0.85).

Hint 3

Plastic: a bright red Base Color, Metallic 0, low-to-mid Roughness (try 0.25). Notice plastic and metal can both be shiny — Metallic is what separates them.

You can now

Tick these off — if any feel shaky, replay that step in the walkthrough:

  • Say what PBR means in one sentence
  • Name what Base Color, Metallic, Roughness and Normal each control
  • Decide whether an input should be a constant or a texture
  • Set Metallic correctly as a 0-or-1 switch, not a middle value
  • Recognise a normal map by its purple-blue look and know not to treat it as colour
Finished the steps?

Mark this lesson complete

We'll remember it on your Academy page and unlock the next lesson below.

Next lesson →Material Instances: The Fast Way to Make Variations

Questions beginners ask

What's the difference between Base Color and the colour I actually see on screen?

Base Color is the surface's flat, lighting-free colour — the raw 'paint'. The colour you see on screen is that Base Color after the engine adds lighting, shadows, reflections and the effects of Roughness and Metallic. That's the whole point of PBR: you describe the material honestly, and the renderer figures out how it should look under your scene's light.

Why does setting Metallic to 1 make my object look the wrong colour?

On a metal, Base Color no longer reads as 'the colour of the object' — it becomes the colour of the reflections. A metal with a dark Base Color will look dark and shiny rather than 'a coloured object'. For believable metals, use a fairly bright Base Color (e.g. warm yellow for gold, light grey for steel) and control the look with Roughness.

Do I always need all four inputs?

No. A material works fine with just a Base Color and a Roughness value — leave Metallic at its default 0 and skip the Normal map entirely for a simple flat surface. Add Metallic when the surface is a metal, and add a Normal map only when you want fake surface detail like bumps or grooves. Start minimal and add inputs as the surface needs them.

My normal map looks flat or wrong — what should I check?

Two things. First, double-click the texture in the Content Browser and confirm its compression is set to 'Normalmap' and that sRGB is turned OFF — a normal map is data, not colour. Second, make sure it's wired into the 'Normal' pin and nothing else. If the bumps look inverted (poking in instead of out), the map may be in the wrong handedness; some assets ship a setting to flip the green channel.

Get the next lessons as they land

New Academy lessons, UE5 tips and tool releases — straight to your inbox. No spam, unsubscribe anytime.

Report a bug