Skip to content

Chapter 3 of 8

Materials and Shading

Materials in Unreal Engine control the visual appearance of surfaces. A Material asset is created in the Content Browser by right-clicking and choosing Material, then opened in the Material Editor where nodes are added, connected, and saved. The Material Domain property tells the renderer how to apply the material, with common values being Surface for normal meshes, Deferred Decal for projecting onto surfaces, Light Function for shaping light, Post Process for screen effects, and User Interface for UMG elements. The Blend Mode determines transparency behavior: Opaque is fully solid and fastest; Translucent supports partial transparency and alpha blending at higher cost; Masked uses a black-and-white cutout for hard edges like leaves. Two-Sided rendering can be enabled for surfaces like foliage and paper that must render on both faces.

The standard PBR inputs shape how light interacts with the surface. Base Color defines the diffuse albedo and is multiplied by incoming light. Roughness ranges from 0 (mirror-like) to 1 (fully matte) and controls how sharply reflections appear. Metallic, when set to 1, makes the surface behave like a metal with no diffuse and uses Base Color as the reflection tint; non-metals should leave it at 0. Specular scales non-metallic reflections and has no effect on metallic surfaces. The Normal input accepts a tangent-space normal map for bump detail. Emissive Color defines light that appears to be emitted by the surface itself, useful for glowing screens or neon. The Opacity input controls transparency in Translucent mode, and Opacity Mask uses a black/white cutout in Masked mode. Ambient Occlusion darkens creases and contact areas when fed through a texture's green channel.

Several auxiliary inputs and nodes enable more advanced effects. World Position Offset displaces vertex positions in the vertex shader, enabling wind sway, dissolve, water motion, and procedural deformation. The Fresnel node outputs a value based on viewing angle, returning 0 head-on and 1 at grazing angles, often for rim lighting. A Material Function is a reusable subgraph saved as an asset that can be dragged into other materials for shared logic like noise or triplanar mapping. Material Parameter Collections hold globally accessible scalar and vector values, enabling time-of-day or weather effects across many materials at once. To author variations of a base material efficiently, artists expose parameters by checking the Parameter checkbox on a constant or texture node, then create Material Instances that override those parameters without recompiling. Textures used by these nodes should have Compression Settings chosen appropriately, such as UserInterface2D for HUD elements to avoid mip and color artifacts.

All chapters
  1. 1Editor Interface and Asset Management
  2. 2Blueprints and Visual Scripting
  3. 3Materials and Shading
  4. 4Lighting and Rendering
  5. 5Physics, Collision, and Movement
  6. 6Actors, Levels, and Runtime Spawning
  7. 7Animation, AI, and Multiplayer
  8. 8Packaging, Profiling, and Project Settings

Drill it

Reading is not remembering. These come from the Unreal Engine Basics deck:

Q

What Unreal Engine panel displays the list of actors currently present in the level?

The Outliner panel lists all actors currently placed in the level, organized hierarchically, and allows selection, searching, grouping, and visibility toggling...

Q

How do you open the Blueprint editor for a specific Blueprint asset?

Double-click the Blueprint asset in the Content Browser (or right-click and choose Edit), which opens the Blueprint editor containing Event Graph, Functions, Va...

Q

What is the purpose of the Construction Script in a Blueprint?

The Construction Script runs when an actor is placed or moved in the editor, and again whenever a property changes. It is commonly used for procedural setup suc...

Q

Which node executes logic only once when the game begins playing?

The Event BeginPlay node fires once on each actor when play starts, after construction and initialization, making it the standard place to set up gameplay logic...