[UE5] Material Basics: Tuning Color, Metal, and Gloss, Then Varying Them with Material Instances

Created: 2025-12-12Last updated: 2026-09-06

Learn what Base Color, Metallic, Roughness, and Normal do while turning the same sphere gold, silver, and matte. Diagrams cover node connections, creating Material Instances, and the difference between a parent's value and an override.

The same sphere reads as a coin material when it shines gold, a machine part when it is silver, and a subdued ornament when the gloss is reduced. Creating different impressions without changing the shape is the job of materials.

But picking a color alone does not always give you the material you pictured. Adjusting "metallic-ness" and "gloss" separately shows you where to make a fix. This article confirms the differences using a sphere, then builds three materials from those settings.

Turning identically shaped spheres into gold, silver, and matte

What You'll Learn

  • The difference between the inputs handling color, metal, gloss, and bumps
  • The procedure for connecting numbers and colors as nodes to build a metal sphere
  • How to vary the look from one setup with Material Instances
  • The difference between values inherited from the parent and values overridden individually

Sponsored

The difference between materials and textures

A texture is an image holding information such as wood grain or scratches. A material uses that image and numbers to decide how a model's surface looks when light hits it.

A wood grain image alone does not decide whether it is a polished desk or a rough board. With the same image, making reflections sharp approaches a varnished desk and blurring them approaches a low-gloss board. Conversely, a material with no pattern can be built from color and numbers without an image. That is how our sphere works.

UE's standard materials are based on PBR (physically based rendering), which takes cues from how light reflects in reality. Rather than memorizing difficult formulas, start by separating "what material is it" from "how smooth is the surface."

A texture is pattern information and a material is how light is received. Changing Roughness makes the same color look like a different material

Four inputs to grasp first

In the material editor you connect nodes holding colors and numbers with wires. The connection points are pins. What you hand to the material output node at the end becomes the surface's appearance.

There are other inputs, but understanding these four first makes materials easy to tune.

Base Color is color, Metallic is whether it is metal, Roughness is how blurred reflections are, and Normal changes the shading of fine bumps
InputWhat it decidesHow we use it here
Base ColorThe material's base colorMake it gold or silver
MetallicWhether it reflects light as a metal1, since it is metal
RoughnessThe surface's fine roughness, seen in how reflections blurChange the number to compare gloss
NormalThe surface orientation used in lighting calculationsLeft unconnected here, using the sphere's own orientation

Base Color and Metallic: what material it reads as

Base Color is the material's base color. For wood or plastic it sets the surface color; for metal it mainly sets the color of reflected light. Set gold on a metal and the reflections take on gold too.

Metallic is basically 1 for bare metal and 0 for non-metals such as wood, cloth, and plastic. For painted areas over metal, think in terms of the visible paint layer.

It is not the case that you raise Metallic because something is glossy. You can build glossy plastic and rough iron alike. What handles gloss is Roughness, next.

Roughness: sharp reflections or blurred ones

Roughness closer to 0 is smoother, with sharper reflections and light highlights. Closer to 1, reflections spread and it approaches matte. A highlight is the bright part where light hits.

Comparing the same silver sphere at Roughness 0.05, 0.35, and 0.75, with reflections progressively blurring

When comparing, align shape, color, Metallic, and lighting and change only Roughness. Changing the color at the same time makes it hard to tell what took effect.

The roughness here is fine enough to affect light reflection. Raising the value does not grow bumps on the sphere's silhouette.

Normal: suggesting small bumps without adding geometry

For the feel of scratches and cloth weave, use a normal map. It records "which way the surface faces" in a purplish image's colors and changes how light lands. That surface orientation is called the normal.

Even with a normal map giving a board's surface groove shading, the silhouette seen edge-on stays flat

Even when light and shadow suggest grooves, the model's shape is unchanged. Rocks and large protrusions where you want the silhouette to change too need shape built on the model side as well.

For a smooth sphere like ours, leaving Normal unconnected is fine. Other inputs do not lose their values by being unconnected either. Rather than filling empty pins, tune the values your intended look needs.

Sponsored

Hands-On: building a gold sphere

From here we build a metal sphere without textures. No Blueprint or C++ is needed. First we build one parent material, then split it into three with different colors and gloss.

1. Create and open a material

Right-click in the content browser, create a "Material," and name it M_Metal_Base. M_ is a marker showing it is a material. Double-click to open it and you get a preview and an area to place nodes.

This article proceeds with a setup whose output node lists "Base Color," "Metallic," "Roughness," and so on. We use Surface for "Material Domain," Opaque for "Blend Mode," and Default Lit for "Shading Model" — meaning for object surfaces, opaque, and affected by lights. A normal new material starts from this setup.

2. Connect a color and two numbers

In the node area, hold 3 and left-click to create a Constant3Vector. It is a node holding three numbers; here we specify RGB, the red, green, and blue components.

  1. Double-click the Constant3Vector's color swatch to open the color picker.
  2. Enter R = 1.0, G = 0.766, B = 0.336 and confirm.
  3. Connect the output pin carrying the whole color to the material's "Base Color."
  4. Hold 1 and left-click to create a Constant, set its value to 1, and connect it to "Metallic."
  5. Create another Constant, set it to 0.25, and connect it to "Roughness."

A Constant's value is changed in the "R" field of the details panel when the node is selected. Constant passes one number; Constant3Vector passes three.

In the color picker, enter the values above into the RGB number fields. These are linear values used in lighting calculations, not 0–255 color numbers from an image editor to type in directly.

Connecting the Constant3Vector's gold to Base Color, a Constant of 1 to Metallic, and 0.25 to Roughness

Press "Apply" and save, and the preview sphere becomes gold metal. Your first material is done.

Next, try changing Roughness to 0.05 and 0.75. Small values should make reflections sharp, large values spread and blur them. Once you have seen the difference, set it back to 0.25 and apply and save. What is reflected varies by preview environment, but comparing within the same environment reveals Roughness's role.

Splitting into three with Material Instances

When you want the gold sphere in silver, you just change the color value. But duplicating whole materials over and over multiplies the same connections everywhere, making the setup hard to fix later.

A Material Instance is an asset that uses the original material while changing only specified values. The original is called the "parent." The parent handles how nodes connect and the Instance holds color and gloss settings.

Three Instances made from M_Metal_Base: Gold, Steel, and Matte, set to gold 0.25, silver 0.35, and matte gold 0.75

1. Prepare changeable values on the parent

A named value that Instances can change is a parameter. Here we make the color and Roughness parameters.

  1. Right-click M_Metal_Base's Constant3Vector and choose "Convert to Parameter."
  2. Name it BaseColor. It becomes a Vector Parameter handling color.
  3. Convert the Constant connected to Roughness the same way and name it Roughness. It becomes a Scalar Parameter handling one number.
  4. Confirm the color's default is (1.0, 0.766, 0.336), Roughness's default is 0.25, and the connections remain.
  5. Press "Apply" and save.

Parameter names can be checked and changed in "Parameter Name" in the details panel with the node selected. "Default Value" is the parent's initial value. Since we do not change Metallic here, leave it as the Constant 1. Making only the values you need into parameters also keeps the Instance's editing screen readable.

Connecting the BaseColor Vector Parameter and Roughness Scalar Parameter to the output node while keeping Metallic's 1 as a fixed value

Parameters pass values to the parent's output node. You do not connect an Instance as a node. On the Instance's screen, you look for the names you set here and adjust the values.

2. Create Instances and change color and gloss

Back in the content browser, right-click M_Metal_Base and choose "Create Material Instance." Create three from the same parent and name them as follows.

Instance nameBaseColorRoughness
MI_Metal_GoldUnchecked: use the parent's goldUnchecked: use the parent's 0.25
MI_Metal_SteelChecked: (0.56, 0.57, 0.58)Checked: 0.35
MI_Metal_MatteUnchecked: use the parent's goldChecked: 0.75

Open each Instance and expand the parameter group to configure. Tick the checkbox to the left of an item to override it with a value specific to that Instance. Unticked items inherit the parent's value.

Enter Steel's color into the three RGB number fields. For Matte, leave the color alone and change only Roughness. Save each once set. MI_ marks a Material Instance.

3. Assign them to identical spheres and compare

In the level editor, place a Sphere from "Place Actors" → "Shapes," then duplicate it to line up three. Keep shape and scale aligned.

Select each sphere and set its respective Instance in "Materials" → "Element 0" in the details panel. Element 0 is the assignment slot for the material used on this sphere's surface.

All three are metal, but Gold is gold, Steel is silver, and Matte is gold with blurred reflections. Success is the color setting and the gloss setting working separately. They are hard to compare in a dark level, so confirm in a template level with a sky and lights first.

The diagram conveys the visual difference. Actual reflections vary with the level's lighting and surrounding scenery.

4. See where changing the parent's value reaches

Finally, change M_Metal_Base's Roughness parameter default from 0.25 to 0.6 and apply.

Changing the parent's Roughness from 0.25 to 0.6 affects only the unchecked Gold, while the overridden Steel and Matte stay the same

Gold uses the parent's value, so its gloss weakens. Steel and Matte override with 0.35 and 0.75, so their Roughness does not change. Set the parent back to 0.25, apply, and save afterwards.

Understanding this difference lets you align shared colors on the parent while changing gloss on only some materials. When a parent change does not take effect, look at the Instance's checkbox.

Sponsored

When you want to use patterns

We used colors and numbers, but images of wood grain and tiles are passed through nodes the same way. These five are the common ones. There is no need to memorize them all at once.

The roles of Constant, Constant3Vector, Texture Sample, Texture Coordinate, and Multiply, plus the hold-key-and-click shortcuts
NodeHow to create itRole
Constant1 + left clickPass one number, such as Roughness
Constant3Vector3 + left clickPass three numbers, such as RGB
Texture SampleT + left clickRead information from the chosen texture
Texture CoordinateU + left clickPass the position at which the texture is read
MultiplyM + left clickMultiply two values

Import a wood grain image, for example, and drag it from the content browser into the material's node area to create a Texture Sample with that image set. Connect the "RGB" output to Base Color and the grain is used as color. For a wood surface, also change Metallic to 0.

UV is the coordinate telling each spot on a model "where in the image to read." Connect a Texture Coordinate to a Texture Sample's "UVs" and you can adjust how it reads. Setting the Texture Coordinate's "UTiling" and "VTiling" to 2 each repeats the image twice horizontally and twice vertically over the standard 0–1 UV range. That assumes the image is set to repeat.

Multiply is used to tint a sampled color by multiplying another color into it, or to change repetition by multiplying the UVs. Start from the Constant and Constant3Vector here and add roles as you need them, and the meaning of nodes is easier to remember.

Bonus: Good to Know Up Front

Normal maps have different settings from ordinary color images

When using a normal map, open the imported texture, set "Compression Settings" to Normalmap, and confirm sRGB is off. In the material's Texture Sample, set "Sampler Type" to Normal and connect "RGB" to Normal.

A normal map's colors are surface orientation data, so correcting them as an ordinary color image gives the wrong orientation. If bumps look inverted, also check the format your exporting software produced. If it uses a different up-direction convention from UE, the texture's "Flip Green Channel" can fix it.

When metal looks black, look at what it reflects

Metal appears by reflecting surrounding light and scenery, so it looks blackish in dark places even with gold set. Before pushing the color values ever higher, compare how it looks in a bright preview. If it only darkens in the level, check the lighting using the lighting article as a guide.

Also, when one image paints both metal and non-metal areas, as on rusted metal, Metallic may take intermediate values. Ours is uniform metal, so we used 1.

Tuning Instances and changing values in game are different procedures

For the color and number changes here, you can adjust without a shader compile, meaning rebuilding the rendering logic. But other kinds of parameters, such as a "Static Switch" that toggles whether a calculation happens, may require compiling.

To change an enemy's color during the game, go to the Dynamic Material Instance article for passing values at runtime.

If a Substrate screen appears

Substrate is UE's material system that can also express layered materials such as paint and coatings. It is enabled by default in new projects from UE 5.7 onward, but the traditional output node with Base Color and Roughness is still usable. There is no need to disable Substrate for this article.

If you have opened a material already converted to Substrate's dedicated nodes, the input layout differs. For an introduction, creating a new material and following the steps makes it easier to track the correspondence.

Summary

When tuning a material, looking separately at "what color," "is it metal," and "are reflections sharp" lets you choose where to touch. When you want the shading of small scratches and grooves, add Normal.

When adding materials with different colors and gloss, leave the shared connections in the parent material and override only the values you need with Material Instances. Lining up identical spheres and changing only Roughness first makes the relationship between numbers and appearance easy to grasp.

References: Physically based materials, Creating and using Material Instances, Overview of Substrate materials

Unreal Engine Notes in this section98