Free Ebook cover Unreal Engine 5 for Absolute Beginners: Your First Playable Level

Unreal Engine 5 for Absolute Beginners: Your First Playable Level

New course

9 pages

Materials and Basic Asset Use in Unreal Engine 5

Capítulo 5

Estimated reading time: 7 minutes

+ Exercise

What a Material Is (and What a Texture Is)

In Unreal Engine 5, a material is the set of rules that tells the engine how a surface should look when light hits it. It can make something look like painted concrete, shiny metal, wet asphalt, or matte plastic. A material can use many inputs (color, roughness, metallic, normals, opacity, emissive, and more) to describe that surface.

A texture is usually just an image (2D data) that a material can read. Textures are ingredients; the material is the recipe.

  • Texture: a bitmap (like PNG/TGA) that stores information such as color or surface detail.
  • Material: a shader graph that combines values and textures to produce the final surface appearance.

Example: A “brick wall” look is typically a material that uses a base color texture (brick colors), a normal texture (fake bumps), and roughness values (how glossy it is). Without the material, the textures alone don’t know how to react to light.

Key Material Inputs You’ll Use First

  • Base Color: the visible color of the surface (albedo).
  • Roughness: how blurry or sharp reflections are. 0 = very glossy, 1 = very matte.
  • Metallic: whether the surface behaves like metal. 0 = non-metal (wood, stone), 1 = metal.
  • Normal: adds surface detail (bumps) without changing the mesh shape.

Applying Existing Materials to Blockout Geometry

Even during blockout, basic materials make your level readable: players can quickly understand what is floor, wall, and “important path.”

Step-by-Step: Apply a Material by Drag-and-Drop

  • In the Content Browser, find an existing material (often named with M_ prefix, e.g., M_Concrete).
  • Drag the material onto a mesh in the viewport (your floor or wall blockout piece).
  • If the mesh has multiple material slots, drop it onto the specific surface or set the slot in the Details panel under Materials.

Step-by-Step: Apply via the Details Panel (Precise)

  • Select the mesh actor in the level.
  • In Details > Materials, expand the element list (Element 0, Element 1, etc.).
  • Click the material slot and choose a material asset from the picker (or drag the material into the slot).

Tip: If you’re using simple shapes, keep it consistent: one material for all floors, one for all walls, and one for highlights. Consistency beats variety at this stage.

Continue in our app.

You can listen to the audiobook with the screen off, receive a free certificate for this course, and also have access to 5,000 other free online courses.

Or continue reading below...
Download App

Download the app

Adjusting Basic Parameters Without Rebuilding a Material

Many materials are built to be adjustable through Material Instances. A material instance lets you change exposed parameters (like color and roughness) without editing the original node graph.

Create a Material Instance and Edit Parameters

  • In the Content Browser, right-click an existing material (for example M_Master or any material that supports parameters).
  • Choose Create Material Instance.
  • Name it clearly, e.g., MI_Floor, MI_Wall, MI_Highlight.
  • Double-click the instance to open it.
  • In the instance editor, enable checkboxes next to parameters you want to override (commonly Base Color, Roughness, Metallic), then adjust values.

Practical Guidance for Values

Surface TypeRoughnessMetallicNotes
Painted wall0.6–0.90Matte walls reduce glare and keep focus on gameplay.
Concrete floor0.5–0.80Moderately rough reads well under most lighting.
Metal trim0.1–0.41Use sparingly; shiny metal can distract.
Highlight path paint0.3–0.70Make it distinct in color more than shininess.

If your chosen material has no parameters to edit, you can still create your own simple material (next section) or use a different base material designed for instancing.

Creating a Simple Custom Material in the Material Editor

You’ll build a basic material that supports the most common inputs. This is ideal for blockout: fast, readable, and easy to tweak.

Step-by-Step: Create a New Material

  • In the Content Browser, click Add (or right-click in an empty area).
  • Choose Material.
  • Name it M_SimpleSurface.
  • Double-click it to open the Material Editor.

Build the Core Inputs (Base Color, Roughness, Metallic)

Inside the Material Editor, you’ll see a main node (the material output) with inputs like Base Color and Roughness.

  • Base Color: Press 3 and left-click to create a Constant3Vector (a color). Connect it to Base Color.
  • Roughness: Press 1 and left-click to create a Constant. Set a value like 0.7. Connect it to Roughness.
  • Metallic: Press 1 and left-click to create another Constant. Set it to 0 for non-metal. Connect it to Metallic.

Click Apply (and Save) to compile the material. Now you can assign M_SimpleSurface to your meshes.

Make It Reusable with Parameters (Recommended)

Instead of hard-coded constants, convert them to parameters so you can create multiple looks using instances.

  • Right-click the color node and choose Convert to Parameter. Name it BaseColor.
  • Right-click the roughness constant and convert to parameter. Name it Roughness.
  • Right-click the metallic constant and convert to parameter. Name it Metallic.

Apply and save again. Now you can create material instances from M_SimpleSurface and adjust these values per surface type.

Normal Input Overview (What It Does and How to Hook It Up)

The Normal input fakes small surface bumps so light reacts as if the surface has detail. It does not change the mesh silhouette, but it can dramatically improve readability.

To use a normal map texture:

  • Import or locate a normal texture (often named with _N suffix).
  • Drag the texture into the Material Editor (creates a Texture Sample node).
  • In the texture asset settings (double-click the texture), ensure it is marked as a Normal Map (compression/settings are usually auto-detected, but verify if it looks wrong).
  • Connect the texture sample’s output to the material’s Normal input.

If you don’t have a normal map yet, leave Normal unconnected; your material will still work.

Adding Simple Variations for Readability (Path Marking)

Once floor and wall materials are in place, add a clear navigation cue. The goal is not realism; it’s clarity: “go this way.” Two beginner-friendly options are decals and material variation.

Option A: Use a Decal to Mark the Path

A decal projects an image/material onto surfaces (like painted arrows, hazard stripes, or scuff marks). It’s great for path guidance because you can place it exactly where needed without changing the floor mesh.

  • Create or find a decal material (material domain must be Deferred Decal).
  • In the Content Browser, add a Decal Actor to the level (Place Actors panel) or drag a decal material into the viewport (depending on your setup).
  • Select the decal actor and assign the decal material in Details.
  • Scale the decal box to fit the floor area and rotate it so it projects downward onto the floor.

Practical decal idea: a subtle colored stripe along the intended route, or repeated arrow marks at intersections.

Option B: Use a Highlight Material on Specific Floor Pieces

If decals feel like extra setup, you can mark the path by applying a distinct “highlight” material to certain floor segments (or thin meshes placed on top of the floor).

  • Create MI_Highlight from your simple master material.
  • Pick a color that contrasts with the floor (for example, desaturated dark floor + warm bright highlight).
  • Apply it only to the path pieces, thresholds, or key turns.

Tip: Keep highlight areas consistent in width and placement so players learn the visual language quickly.

Structured Task: Build a 3-Material Set for Navigation

Goal

Create three materials (or three material instances) and apply them consistently across your blockout so the level is easy to read at a glance.

Deliverables

  • Floor material: neutral, non-metal, moderately rough.
  • Wall material: different value/color from the floor (usually slightly lighter or darker), matte.
  • Highlight material: high-contrast accent used only for navigation cues (path, key door, objective zone).

Step-by-Step Checklist

  • Create a master material M_SimpleSurface with parameters for BaseColor, Roughness, Metallic (and optionally Normal support).
  • Create three instances: MI_Floor, MI_Walls, MI_Highlight.
  • Set suggested starting values:
    • MI_Floor: BaseColor medium-dark neutral, Roughness ~0.7, Metallic 0.
    • MI_Walls: BaseColor slightly different (lighter or cooler), Roughness ~0.8, Metallic 0.
    • MI_Highlight: BaseColor saturated accent, Roughness ~0.5–0.8, Metallic 0.
  • Apply MI_Floor to all floor blockout meshes.
  • Apply MI_Walls to all wall blockout meshes.
  • Apply MI_Highlight only to path markers (either specific floor pieces, thin overlay meshes, or a few key surfaces).
  • Do a quick readability pass: stand at the player start and check if the intended route is obvious without moving the camera much.

Now answer the exercise about the content:

Why would you create a Material Instance instead of editing the original material when you want to tweak a surface’s color or roughness?

You are right! Congratulations, now go to the next page

You missed! Try again.

A material instance is meant for quick adjustments by overriding parameters (such as Base Color, Roughness, and Metallic) while keeping the master material unchanged.

Next chapter

Player Start, Game Mode, and Testing Your Level

Arrow Right Icon
Download the app to earn free Certification and listen to the courses in the background, even with the screen off.