This document breaks down the properties available on a Material. These properties are accessible by selecting the Main Material node in the Material Editor, or by Right-Clicking the Material in the Content Browser then selecting Asset Actions then Property Matrix.
-
Properties inside Material:
-
Accessing the Property Matrix:
-
The Property Matrix:
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
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. |
Material
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:
| ||||||||||||||
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:
For more information on these Blend Modes, please see the Blend Modes documentation. | ||||||||||||||
Decal Blend Mode | This defines how to GBuffer channels are getting manipulated by a decal material pass.(Only with MaterialDomain == MD_DeferredDecal) | ||||||||||||||
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) | ||||||||||||||
Shading Model | Shading models determine how material inputs (e.g. Emissive, Diffuse, Specular, Normal) are combined to make the final color.
For more information on these Shading Models, please see the Shading Model documentation. | ||||||||||||||
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). | ||||||||||||||
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. | ||||||||||||||
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. | ||||||||||||||
Decal Blend Mode | As the name suggests, this defines the Blend Mode that will be used when the Material Domain property is set toDeferred Decal and cannot be changed until the Material Domain is set accordingly. It contains different Blend Modes than those available to surfaces.
| ||||||||||||||
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. | ||||||||||||||
Subsurface Profile | This will allow you to change what Subsurface Profile is used in the Material. | ||||||||||||||
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. | ||||||||||||||
Emissive(Dynamic Area Light) | If enabled, the Material's Emissive color is injected into the Light Propagation Volume. | ||||||||||||||
Wire Frame) | Enables a wire frame view of the mesh the Material is applied to. | ||||||||||||||
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. |
Translucency
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
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) | ||||||||
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 shouldonly be used on small moving objects, because it creates aliasing artifacts on the background. | ||||||||
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.
| ||||||||
Translucency Directional Lighting Intensity | Useful for artificially increasing the influence of the normal on the lighting result for translucency. A value larger than 1 increases the influence for the normal, a value smaller than 1 makes the lighting more ambient. | ||||||||
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. | ||||||||
Use Translucency Vertex Fog | When true, translucent materials are fogged. Defaults to true. |
Translucency Self Shadowing
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 |
---|---|
Translucent 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. |
Translucent Self Shadow Density Scale | Sets the density of the shadow this Material casts on itself. Consider shadows within a pillar of smoke. |
Translucent Self Shadow 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. |
Translucent Self Shadow 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. |
Translucent 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. |
Translucent 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. |
Translucent Shadow 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
The Usage flags are used to control the types of objects on which the Material will be used. When compiling Materials, 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 Systemflag. The material asset will need to be saved to allow the game to use the material on that specific mesh.
Warning: If you do not have the appropriate usage flag set, the default 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 Landscape | Set if the Material will be used on a Landscape surface. |
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 Static Lighting | This is set if the Material will be considered for Static Lighting, such as if it uses an Emissive effect that should affect lighting. |
Used with Fluid Surfaces | Fluid surfaces are no longer supported in Unreal Engine 4. This option will soon be removed. |
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 Distortion | Distortion is no longer supported (it is now Refraction) and this option will soon be removed. |
Used with Clothing | This should be set if the Material will be applied to Apex physically simulated clothing. |
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
Property | Description |
---|---|
Fully Rough | This forces the Material to be completely rough and by doing so saves a number of shader instructions and one texture sampler. |
Use Lightmap Directionality | This will use lightmap directionality and per pixel normal's. If disabled, lighting from lightmaps will be flat but cheaper. |
Tessellation
Tessellation features allow you to add more physical detail to your meshes at runtime.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
Tessellation Mode | This controls the type of tessellation that will be employed by your Material, if any.
| ||||||||
Enable 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. | ||||||||
Enable Adaptive Tessellation | This tessellation method tries to maintain the same number of pixels for each triangle. |
Post Process Material
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. |
Blendable Priority | This is a priority value that is used for any other Materials that can be applied to the Post Process. |
Lightmass
Property | Description |
---|---|
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. |
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. |
Material Interface
Property | Description |
---|---|
Preview Mesh | Sets a Static Mesh used to preview the Material in the Preview pane. |
Thumbnail
Property | Description |
---|---|
Primitive Type | Sets the type of shape primitive that is used in the thumbnail preview. |
Preview Mesh | Sets the mesh that is used in the thumbnail preview. This will only work if Primitive Type is set to TPT None |
Orbit Pitch | Sets the pitch of the orbit camera around the object. |
Orbit Yaw | Sets the yaw of the orbit camera around the object. |
Orbit Zoom | The offset from the bounds sphere distance from the asset. |
This document breaks down the properties available on a Material. These properties are accessible by selecting the Main Material node in the Material Editor, or by Right-Clicking the Material in the Content Browser then selecting Asset Actions then Property Matrix.
-
Properties inside Material:
-
Accessing the Property Matrix:
-
The Property Matrix:
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
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. |
Material
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:
| ||||||||||||||
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:
For more information on these Blend Modes, please see the Blend Modes documentation. | ||||||||||||||
Decal Blend Mode | This defines how to GBuffer channels are getting manipulated by a decal material pass.(Only with MaterialDomain == MD_DeferredDecal) | ||||||||||||||
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) | ||||||||||||||
Shading Model | Shading models determine how material inputs (e.g. Emissive, Diffuse, Specular, Normal) are combined to make the final color.
For more information on these Shading Models, please see the Shading Model documentation. | ||||||||||||||
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). | ||||||||||||||
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. | ||||||||||||||
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. | ||||||||||||||
Decal Blend Mode | As the name suggests, this defines the Blend Mode that will be used when the Material Domain property is set toDeferred Decal and cannot be changed until the Material Domain is set accordingly. It contains different Blend Modes than those available to surfaces.
| ||||||||||||||
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. | ||||||||||||||
Subsurface Profile | This will allow you to change what Subsurface Profile is used in the Material. | ||||||||||||||
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. | ||||||||||||||
Emissive(Dynamic Area Light) | If enabled, the Material's Emissive color is injected into the Light Propagation Volume. | ||||||||||||||
Wire Frame) | Enables a wire frame view of the mesh the Material is applied to. | ||||||||||||||
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. |
Translucency
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
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) | ||||||||
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 shouldonly be used on small moving objects, because it creates aliasing artifacts on the background. | ||||||||
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.
| ||||||||
Translucency Directional Lighting Intensity | Useful for artificially increasing the influence of the normal on the lighting result for translucency. A value larger than 1 increases the influence for the normal, a value smaller than 1 makes the lighting more ambient. | ||||||||
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. | ||||||||
Use Translucency Vertex Fog | When true, translucent materials are fogged. Defaults to true. |
Translucency Self Shadowing
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 |
---|---|
Translucent 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. |
Translucent Self Shadow Density Scale | Sets the density of the shadow this Material casts on itself. Consider shadows within a pillar of smoke. |
Translucent Self Shadow 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. |
Translucent Self Shadow 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. |
Translucent 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. |
Translucent 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. |
Translucent Shadow 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
The Usage flags are used to control the types of objects on which the Material will be used. When compiling Materials, 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 Systemflag. The material asset will need to be saved to allow the game to use the material on that specific mesh.
Warning: If you do not have the appropriate usage flag set, the default 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 Landscape | Set if the Material will be used on a Landscape surface. |
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 Static Lighting | This is set if the Material will be considered for Static Lighting, such as if it uses an Emissive effect that should affect lighting. |
Used with Fluid Surfaces | Fluid surfaces are no longer supported in Unreal Engine 4. This option will soon be removed. |
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 Distortion | Distortion is no longer supported (it is now Refraction) and this option will soon be removed. |
Used with Clothing | This should be set if the Material will be applied to Apex physically simulated clothing. |
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
Property | Description |
---|---|
Fully Rough | This forces the Material to be completely rough and by doing so saves a number of shader instructions and one texture sampler. |
Use Lightmap Directionality | This will use lightmap directionality and per pixel normal's. If disabled, lighting from lightmaps will be flat but cheaper. |
Tessellation
Tessellation features allow you to add more physical detail to your meshes at runtime.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
Tessellation Mode | This controls the type of tessellation that will be employed by your Material, if any.
| ||||||||
Enable 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. | ||||||||
Enable Adaptive Tessellation | This tessellation method tries to maintain the same number of pixels for each triangle. |
Post Process Material
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. |
Blendable Priority | This is a priority value that is used for any other Materials that can be applied to the Post Process. |
Lightmass
Property | Description |
---|---|
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. |
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. |
Material Interface
Property | Description |
---|---|
Preview Mesh | Sets a Static Mesh used to preview the Material in the Preview pane. |
Thumbnail
Property | Description |
---|---|
Primitive Type | Sets the type of shape primitive that is used in the thumbnail preview. |
Preview Mesh | Sets the mesh that is used in the thumbnail preview. This will only work if Primitive Type is set to TPT None |
Orbit Pitch | Sets the pitch of the orbit camera around the object. |
Orbit Yaw | Sets the yaw of the orbit camera around the object. |
Orbit Zoom | The offset from the bounds sphere distance from the asset. |