Material Properties

An introductory document on UE4 Materials and how they work.

Windows
MacOS
Linux

This document breaks down the properties available on a Material. These properties are accessible by selecting the Main Material node in the Material Editor.

Properties inside Material:

PropertiesPanelMaterialEditor_Mat.png

  • Physical Material

  • Material Properties

  • Physical Material Mask

  • Translucency and Translucency Self Shadowing

  • Usage Flags

  • Tessellation Properties

  • Refraction

  • And many others

The base material node has a number of properties which affect how the material behaves. These properties are described below, with each category divided into its own document section, and presented in the order in which they appear in the Properties panel.

Physical Material

PhysicalMaterialProperties.png

Property

Description

Phys Material

The Physical Material associated with this Material. Physical Materials provide a definition of physics properties, such as how much energy will be retained on collision (bounciness) and other physics-based aspects. A Physics Material has no influence over how a Material appears visually.

Phys Material Mask

A physical material mask used for this graphics material. Used for sounds, effects, and more.

Material

MaterialProperties.png

Property

Description

Material Domain

This setting allows you to designate how this Material is going to be used. Certain Material uses (such as decals) require additional instructions for the rendering engine to consider. Because of this, it is important to designate the Material as being used for those cases. Material Domain includes the following options:

Domain

Description

Surface

This setting defines the Material as something that will be used on an object's surface; think metal, plastic, skin, or any physical surface. As such this is the setting that you will use most of the time.

Deferred Decal

When making a Decal Material , you will use this setting.

Light Function

Used when creating a Material for use with a Light Function.

Volume

Used when describing the material's attributes as a 3D volume.

Post Process

Used if the Material will be used as a Post Process Material .

User Interface

Used when this material is used for UMG or Slate user interfaces.

Virtual Texture

Used when making a Runtime Virtual Texture .

Blend Mode

Blend Modes describe how the output of the current Material will blend over what is already being drawn in the background. Put more technically, it allows you to control how the engine will combine this Material (Source color) with what is already in the frame buffer (Destination color) when rendered. The available blending modes are:

Mode

Description

BLEND_Opaque

Final color = Source color. This means that the Material will draw on top of the background. This blend mode is compatible with lighting.

BLEND_Masked

Final color = Source color if OpacityMask > OpacityMaskClipValue, otherwise the pixel is discarded. This blend mode is compatible with lighting.

BLEND_Translucent

Final color = Source color Opacity + Dest color (1 - Opacity). This blend mode is NOT compatible with dynamic lighting.

BLEND_Additive

Final color = Source color + Dest color. This blend mode is NOT compatible with dynamic lighting.

BLEND_Modulate

Final color = Source color x Dest color. This blend mode is NOT compatible with dynamic lighting, or fog, unless this is a decal material.

For more information on these Blend Modes, please see the Blend Modes documentation .

Decal Blend Mode

As the name suggests, this defines the Blend Mode that will be used when the Material Domain property is set to Deferred Decal and cannot be changed until the Material Domain is set accordingly. It contains different Blend Modes than those available to surfaces.

Mode

Description

Translucent

This will cause the decal to blend Base Color, Metallic, Specular, Roughness, Emissive color, Opacity, and Normal. With this you can blend in an entirely separate material, such as a wavy water puddle, complete with normal map-based muddy building around it.

Stain

Only blends Base Color and Opacity. Useful for decals that only change color, such as dry spray paint on a wall.

Normal

Only blends Normal and Opacity. This is useful for adding cracks to a surface.

Emissive

Only blends the Emissive and Opacity channels. Nice for making things glow that were not originally.

DBuffer Translucent Color, Normal, Roughness

Put into the DBuffer to work for baked lighting as well.

DBuffer Translucent Color

Put into the DBuffer to work for baked lighting as well.

DBuffer Translucent Color, Normal

Put into the DBuffer to work for baked lighting as well.

DBuffer Translucent Color, Roughness

Put into the DBuffer to work for baked lighting as well.

DBuffer Translucent Normal

Put into the DBuffer to work for baked lighting as well.

DBuffer Translucent Normal, Roughness

Put into the DBuffer to work for baked lighting as well.

DBuffer Translucent Roughness

Put into the DBuffer to work for baked lighting as well.

Volumetric Distance Function (experimental)

Outputs a signed distance in Opacity depending on the LightVector.

This can be costly and has no shadow casting but does receive shadows. Also, no per pixel normal, nor quality settings are set up.

AlphaComposite (Premultiplied Alpha)

Blends the material with existing scene color. Decal color is already pre-multiplied by the alpha.

Ambient Occlusion

Applies ambient occlusion to the decal to simulate self-shadowing that happens within the crevices of a surface.

Shading Model

Shading models determine how material inputs (e.g. Emissive, Diffuse, Specular, Normal) are combined to make the final color.

Model

Description

Unlit

The Material is defined by the Emissive and Opacity inputs only. It does not respond to light.

Default Lit

The default shading model. Perfect for most solid objects.

Subsurface

Used for subsurface scattering materials, such as wax and ice. Activates the Subsurface Color input.

Preintegrated Skin

Used for materials similar to human skin. Activates the Subsurface Color input.

Clear Coat

Used for materials that have a translucent coating on top like clear coat car paint or lacquer. Activates the Clear Coat and Clear Coat Roughness inputs.

Subsurface Profile

Used for materials similar to human skin. Requires the use of a Subsurface Profile in order to work correctly.

Two Sided Foliage

Used for materials that create natural looking foliage with accurate lighting and light transmission through surfaces, such as throug leaves on a tree.

Hair

Used for materials that create realistic looking hair that accurately lights the hair shafts and handles specular highlight.

Cloth

Used for materials that need to create realistic looking cloth and fuzz along its surface.

Eye

Used for materials that recreate the natural look of humanoid eyes.

Single Layer Water

Thin Translucent

Used for materials that create physically based glass, such as colored or tinted glass. It properly handles white specular from light sources and tinted background objects.

From Material Expression

Used for handling multiple shading models in a single material.

For more information on these Shading Models, please see the Shading Model documentation .

Two Sided

The normal will be flipped on back faces, which means lighting will be calculated for both the front faces and the back faces. This is commonly used on foliage to keep from having to double up the number of polygons. Two Sided does not work correctly with static lighting, since the mesh still uses only a single UV set for light mapping. As a result, two sided materials with static lighting will be shaded the same on both sides.

Use Material Attributes

This checkbox will cause the Material's primary node to be condensed down to a single input labeled "Material Attributes." This is useful when you need to blend in multiple Materials using Layered Materials, or when defining multiple Material types using a Make Material Attributes expression node. See the Layered Materials documentation for more information.

Cast Ray Traced Shadows

This checkbox enables ray traced shadows to be used with this material when Ray Tracing features are enabled in the Project Settings.

Subsurface Profile

This will allow you to change what Subsurface Profile is used in the Material.

Advanced Properties

Decal Response

This defines how the Material reacts on DBuffer decals(Affects look, performance, and texture/sample usage). Non DBuffer Decals can be disabled on the primitive(e.g. static mesh)

Cast Dynamic Shadow as Masked

Whether the material should cast shadows as masked even though it has a translucent blend mode set.

Opacity Mask Clip Value

This is the reference value which the OpacityMask input of masked materials will clip against per-pixel. Any value higher than OpacityMaskClipValue will pass and the pixel will be drawn (opaque), any value lower will fail and the pixel will be discarded (transparent).

Dithered LOD Transition

Whether meshes rendered with this material should support dithered LOD transitions.

Dither Opacity Mask

When combined with Temporal Anti-Aliasing, this can be used as a form of limited translucency which supports all lighting features.

Allow Negative Emissive Color

Whether the material should allow outputting negative emissive color values. This is only allowed on Unlit materials.

Num Customized UVs

This sets the number of Customized UV inputs to display. Unconnected customized UV inputs will just pass through the vertex UVs.

Generate Spherical Particle Normal's

This produces surface normal's that remain spherical as you rotate around a Particle System that uses this Material. This is useful for volumetric Particle Systems, since the sprites always rotate to face the camera. With this option, they will have a more spherical volume appearance.

Tangent Space Normal

Tangent space normal's are calculated from the surface of the object, with the Z-Axis (blue) always pointing directly away from the surface. World space normal's use the world coordinate system to calculate pixel angle, ignoring the surface's original orientation. Tangent space calculations are a bit more costly in terms of performance, but are generally more convenient, as these are usually the types of normal maps you can create in 2D applications such as Photoshop. Visually, tangent-space normal maps tend to look primarily blue-ish, while world-space maps are more vividly rainbow-colored.

Emissive(Dynamic Area Light)

If enabled, the Material's Emissive color is injected into the Light Propagation Volume.

Block Global Illumination

If enabled, the Material's opacity defines how much global illumination is blocked when using Light Propagation Volume features.

Fully Rough

Forces the material to be completely rough. This saves a number of material instructions and one sampler.

Normal Curvature to Roughness

Reduces the roughness based on screen space normal changes.

Wire Frame

Enables a wire frame view of the mesh the Material is applied to.

Is Sky

Unlit and Opaque blend modes used in materials can be used as a Sky Material on a sky dome mesh. When enabled, these meshes will not recieve any contribution from the aerial perspective. Height and Volumetric Fog effects will still be applied.

Asset User Data

An array of user data stored with the asset.

Physical Material Mask

PhysicalMaterialMaskProperties.png

Property

Description

Physical Material Map

An array of Physical Material Maps to be used for this Material. The mask slots can be used to apply sounds, effects, or some other type of Physical Material to a desired color channel.

Translucency

TranslucencyProperties.png

Property

Description

Screen Space Reflections

Enabling this supports screen space reflections (SSR) on translucent materials.

Contact Shadows

Enabling this supports contact shadows on translucent materials.

Translucency Lighting Mode

This allows for control over the lighting mode used by Translucency within this Material. This is especially useful for Particle Systems that are making use of Translucency, such as self-shadowing smoke or steam.

Mode

Description

Volumetric NonDirectional

Lighting will be calculated for a volume, without directionality. Use this on particle effects like smoke and dust. This is the cheapest lighting method, however, the material normal is not taken into account.

Volumetric Directional

Lighting will be calculated for a volume, with directionality so that the normal of the material is taken into account. Note that the default particle tangent space is facing the camera, so enable bGenerateSphericalParticleNormals to get a more useful tangent space.

Volumetric PerVertex NonDirectional

Same as Volumetric NonDirectional, but lighting is only evaluated at vertices so the pixel shader cost is significantly less. Note that lighting still comes from a volume texture, so it is limited in range. Directional lights become unshadowed in the distance.

Volumetric PerVertex Directional

Same as Volumetric Directional, but lighting is only evaluated at vertices so the pixel shader cost is significantly less. Note that lighting still comes from a volume texture, so it is limited in range. Directional lights become unshadowed in the distance.

Surface Translucency Volume

Lighting will be calculated for a surface. The light in accumulated in a volume so the result is blurry, limited distance but the per pixel cost is very low. Use this on translucent surfaces like glass and water. Only Diffuse lighting is supported.

Surface Forward Shading

Lighting will be calculated for a surface. Use this on translucent surfaces like glass and water. This is implemented with forward shading so Specular highlights from local lights are supported, however, many deferred-only features are not. This is the most expensive translucency lighting method as each light's contribution is computed per-pixel.

See LitTranslucency for more information on trasnlucency usage in your materials.

Directional Light Intensity

Useful for artificially increasing the influence of the normal on the lighting result for translucency. A value lareger than 1 increases the influence of the normal, a value smaller than 1 makes the light more ambient.

Apply Fogging

When enabled, translucent materials are fogged.

Compute Fog Per Pixel

When enabled, translucent materials have fog computed for every pixel, which costs more but fixes artifacts due to low tessellation.

Output Velocity

When enabled, translucent materials will output motion vectors in the velocity pass.

Advanced Properties

Render After DOF

Indicates that the material should be rendered in the Separate Translucency Pass (not affected by DOF, and requires "AllowSeparateTranslucency" to be set in the .ini file).

Responsive AA (Ant aliasing)

Small moving objects, especially particles, can sometimes get obliterated by ant aliasing; by setting this property to true, a different AA algorithm is used which provides more definition. Put another way, if you create a blizzard or similar particle system and you feel like you cannot really see your snowflakes, turn this on - it will help. However, this should only be used on small moving objects, because it creates aliasing artifacts on the background.

Mobile Separate Translucency

This indicates that the Material should be rendered in the Separate Translucency Pass (This mean that this will not be affected by DOF and also requires bAllowSeparateTranslucency to be set in the .INI files).

Disable Depth Test

Allows the Material to disable depth tests, which is only meaningful with translucent blend modes. Disabling depth tests will make rendering significantly slower since no occluded pixels can get Z-culled.

Write Only Alpha

Whether the translucency pass should write its alpha, and only the alpha, into the framebuffer.

Allow Custom Depth Writes

Allows a translucent material to be used with custom depth writing by compiling additional shaders.

Translucency Self Shadowing

TransSelfShadowingProperties.png

Translucent self shadowing is a nice way to get a volumetrically lit translucent object, such as a pillar of smoke or steam. The self shadowing is broken into two primary parts: Self Shadow Density and Second Self Shadow Density. The two parts exist to allow for variations. You can define the density of each independently and use the difference between the two to get interesting patterns throughout the self shadow.

Property

Description

Shadow Density Scale

This sets the density of the shadow cast onto other surfaces by this Translucent Material. This acts a bit like a master scale for shadowing; if set to 0, there is no shadowing whatsoever. As you increase the value to 1 and beyond, both the cast shadow and the self shadow will get darker.

Self Shadow Density Scale

Sets the density of the shadow this Material casts on itself. Consider shadows within a pillar of smoke.

Second Density Scale

This is a second self shadow density that can be set for variation. An internal gradient is created between this value and the Translucent Self Shadow Density Scale.

Second Opacity

This sets the opacity value for secondary self shadowing., serving as a way to scale the gradient effect between self shadow and second self shadow.

Backscattering Exponent

This controls the backscattering that is used when employing the Subsurface shading model along with Translucency. Larger values give a smaller, brighter backscattering highlight. This value is only used within volumetric translucent shadows formed from a directional light.

Multiple Scattering Extinction

This gives a colored extinction value - which basically amounts to a shadow color - for objects that have a volumetric translucent shadow, such as smoke or steam.

Start Offset

This is a world-space offset for the self shadow created within a translucent volume. The higher the number, the farther the shadow moves away from the lighting source.

Usage

UsageFlagProperties.png

The Usage flags control the types of objects on which the Material will be used. These settings allow the Engine to compile special versions for each application. These are only valid when using the Surface Material Domain setting.

In the editor, these flags will be set automatically for any objects that already exist within your maps. For instance, if you have a Particle System that uses your Material placed somewhere in a level, when you load that map in the editor, it will automatically set the Used with Particle System flag. The material asset will need to be saved to allow the game to use the material on that specific mesh.

If you do not have the appropriate usage flag set, the default world grid material will be used in-game instead. This will have an appropriate message in the log of the game client.

Property

Description

Used with Skeletal Mesh

Set this if the Material will be placed on a Static Mesh.

Used with Editor Compositing

Set if the Material will be used with the Editor UI.

Used with Particle Sprites

Used if this Material will be placed on a Particle System.

Used with Beam Trails

Set if the Material will be used with Beam Trails.

Used with Mesh Particles

Indicates that the Material and its instances can be used with mesh particles. This will result in the shaders required to support mesh particles being compiled which will increase shader compile time and memory usage.

Used with Niagara Sprites

Set if the material will be used with Niagara Sprites.

Used with Niagara Ribbons

Set if the material will be used with Niagara Ribbons.

Used with Niagara Mesh Particles

Set if the material will be used with Niagara Mesh Particles.

Used with Geometry Cache

Set if the material will be used with Geometry Cache.

Used with Morph Targets

Set if this Material will be applied to a Skeletal Mesh that utilizes a Morph Target.

Used with Spline Meshes

Set if the Material will be applied to Landscape Spline meshes.

Used with Instanced Static Meshes

Set if the Material is intended to be applied to Instanced Static Meshes.

Used with Geometry Collections

Set if the material is intended to be used with geometry collections.

Used with Clothing

This should be set if the Material will be applied to Apex physically simulated clothing.

Used with Water

Used with materials that are intended to be used with Water mesh surfaces.

Used with Hair Strands

Used with materials that are intended to be used with hair grooms.

Used with Lidar Point Cloud

Used with materials that are intended to be used with Lidar Point Clouds.

Used with Landscape

Set if the Material will be used on a Landscape surface.

Used with UI

This indicates that this Material and any Material Instances can be used with Slate UI and UMG.

Automatically Set Usage in Editor

Whether to automatically set usage flags based on what the Material is applied to in the Editor. The default option for this is enabled.

Mobile

MobileProperties.png

Property

Description

Use Full Precision

Forces this material to use full (highp) precision in the pixel shader. It is slower than the default (mediump) but can be used to work around precision-related rendering errors. This setting has no effect on older mobile devices that do not support high precision.

Use Lightmap Directionality

This will use lightmap directionality and per pixel normal's. If disabled, lighting from lightmaps will be flat but cheaper.

Forward Shading

ForwardShadingProperties.png

Property

Description

Preintegrated For Simple IBL

Forward (including mobile) renderer uses preintegrated GF lut for simple IBL, but will use one more sampler.

High Quality Reflections

The forward renderer enables multiple parallax-corrected reflection captures that blend together. The Mobile forward renderer blends between the nearest three reflection captures, but reduces the number of samplers available to the material as two more samplers will be used for reflection cubemaps.

Planar Reflections

Enables planar reflection when using the forward renderer or on mobile. Enabling this setting reduces the number of samplers available to the material as one more sampler will be used for planar reflection.

Tessellation

TessellationProperties.png

Tessellation features allow you to add more physical detail to your meshes at runtime.

Property

Description

D3D11 Tessellation Mode

This controls the type of tessellation that will be employed by your Material, if any.

Mode

Description

No Tessellation

The mesh will not tessellate. Effectively disables the feature.

Flat Tessellation

A simple form of tessellation. This adds more triangles without smoothing the mesh.

PN Triangles

Employs simple spline-based tessellation, which is more expensive but better for fine details.

Crack Free Displacement

Enables a displacement algorithm that fixes any cracks that may appear in the mesh. This is more expensive, however, so if you do not see cracks when displacing, leave this set to False.

Adaptive Tessellation

This tessellation method tries to maintain the same number of pixels for each triangle.

Max Displacement

Sets the max displacement that is allowed for tessellation.

Post Process Material

PostProcessMaterialProperties.png

Property

Description

Blendable Location

If this Material is being used as a Post Process Material, this property allows you to control whether the Material is calculated before or after Tonemapping. This is important if your Material will be used to modify the color of the Post Process.

Output Alpha

If enabled, the blendable will output alpha.

Blendable Priority

This is a priority value that is used for any other Materials that can be applied to the Post Process.

Is Blendable

Allows blendability to be turned off. It is only used if the Material Domain is set to Post Process.

Advanced Properties

Enable Stencil Test

Selectively executes post process material only for pixels that pass the stencil test against the Custom Depth/Stencil buffer. Pixels that fail the stencil test are filled with the previous post process material output or scene color.

Stencil Compare

Use the dropdown to compare the stencil test.

Stencil Ref Value

Set a stencil reference value.

Refraction

RefractionProperties.png

Property

Description

Refraction Mode

This controls the type of refraction that will be employed by your Material.

Mode

Description

Index Of Refraction

Refraction is computed based on the camera vector entering a medium whose index of refraction is defined by the Refraction material input. The new medium's surface is defined by the Material's normal. With this mode, a flat plane seen from the side will have a constant refraction offset. This is a physical model of refraction but causes reading outside the scene color texture. so is a poor fit for large refractive surfaces, like water.

Pixel Normal Offset

The refraction offset into scene color is computed based on the difference between the per-pixel normal and the per-vertex nromal. With this mode, a material whose normal is the default (0,0,1) will never cause any refraction. This mode is only valid with tangent space normals. The refraction material input scales the offset, although a value of 1.0 maps to no refraction, and a value of 2 mapts to a scale of 1.0 on the offset. This is a non-physical model of refraction, but is useful on large refractive surfaces like water, since offsets have to stay small to avoid reading outside scene color.

Refraction Bias

This property offsets the depth of the refraction test. This is useful when refraction values are causing unwanted nearby objects (typically in front of the translucent object) from rendering into the Material surface. Higher values will start to separate refractions, however, causing a visible break between the surface and the refracted objects. This property does not enable until you have connected some expression node into the Refraction input.

Lightmass

LightmassProperties.png

Property

Description

Diffuse Boost

A multiplier for the amount of influence the diffuse component of the material has on static lighting.

Export Resolution Scale

A multiplier for the resolution at which this material's attributes are exported. This should be increased when details are needed.

Cast Shadow as Masked

If true, lit translucent objects will cast shadows as if they were using Masked lighting mode. This can help get sharper shadows on translucent objects.

Previewing

PreviewingProperties.png

Property

Description

Preview Mesh

Sets a Static Mesh used to preview the Material in the Preview pane.

Import Settings

ImportSettingsProperties.png

Property

Description

Asset Import Data

A selection of import data types and options relevant to the selection for use with this Material. For example, selecting Fbx Texture Import Data provides its own set of properties that affect this import type.

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback