Materials

Windows
MacOS
Linux

Classes

Name

Description

Public class

AMaterialInstanceActor

Public struct

FCollectionParameterBase

Base struct for collection parameters

Public struct

FCollectionScalarParameter

A scalar parameter

Public struct

FCollectionVectorParameter

A vector parameter

Public struct

FCustomInput

Public struct

FFontParameterValue

Editable font parameter.

Public struct

FFunctionExpressionInput

Struct that stores information about a function input which is needed to maintain connections and implement the function call.

Public struct

FFunctionExpressionOutput

Struct that stores information about a function output which is needed to maintain connections and implement the function call.

Public struct

FLightmassMaterialInterfaceSettings

UMaterial interface settings for Lightmass

Public struct

FMaterialFunctionInfo

Material input structs.

Public struct

FMaterialInstanceBasePropertyOverrides

Properties from the base material that can be overridden in material instances.

Public struct

FMaterialLayersFunctions

Public struct

FMaterialParameterCollectionInfo

Stores information about a parameter collection that this material references, used to know when the material needs to be recompiled.

Public struct

FMaterialParameterInfo

Public struct

FMaterialRelevance

The class is only storing bits, initialized to 0 and has an |= operator to provide a combined set of multiple materials (component / mesh)

Public struct

FMaterialsWithDirtyUsageFlags

Struct used for annotations when a materials 'used with' flags have changed and need saving

Public struct

FMaterialTextureInfo

This struct holds data about how a texture is sampled within a material.

Public struct

FParameterGroupData

Public struct

FScalarParameterAtlasInstanceData

Editable scalar parameter.

Public struct

FScalarParameterValue

Public struct

FTextureParameterValue

Editable texture parameter.

Public struct

FVectorParameterValue

Editable vector parameter.

Public class

UMaterial

A Material is an asset which can be applied to a mesh to control the visual look of the scene.

Public class

UMaterialExpression

Public class

UMaterialExpressionAbs

Absolute value material expression for user-defined materials

Public class

UMaterialExpressionActorPositionWS

Public class

UMaterialExpressionAdd

Public class

UMaterialExpressionAntialiasedTextureMask

Public class

UMaterialExpressionAppendVector

Public class

UMaterialExpressionArccosine

Public class

UMaterialExpressionArccosineFast

Public class

UMaterialExpressionArcsine

Public class

UMaterialExpressionArcsineFast

Public class

UMaterialExpressionArctangent

Public class

UMaterialExpressionArctangent2

Public class

UMaterialExpressionArctangent2Fast

Public class

UMaterialExpressionArctangentFast

Public class

UMaterialExpressionAtmosphericFogColor

Public class

UMaterialExpressionAtmosphericLightColor

Public class

UMaterialExpressionAtmosphericLightVector

Public class

UMaterialExpressionBentNormalCustomOutput

Public class

UMaterialExpressionBlackBody

Public class

UMaterialExpressionBlendMaterialAttributes

Public class

UMaterialExpressionBreakMaterialAttributes

Public class

UMaterialExpressionBumpOffset

Public class

UMaterialExpressionCameraPositionWS

Public class

UMaterialExpressionCameraVectorWS

Public class

UMaterialExpressionCeil

Public class

UMaterialExpressionChannelMaskParameter

Public class

UMaterialExpressionClamp

Public class

UMaterialExpressionClearCoatNormalCustomOutput

Public class

UMaterialExpressionCollectionParameter

Public class

UMaterialExpressionComment

Public class

UMaterialExpressionComponentMask

Public class

UMaterialExpressionConstant

Public class

UMaterialExpressionConstant2Vector

Public class

UMaterialExpressionConstant3Vector

Public class

UMaterialExpressionConstant4Vector

Public class

UMaterialExpressionConstantBiasScale

Public class

UMaterialExpressionCosine

Public class

UMaterialExpressionCrossProduct

Public class

UMaterialExpressionCurveAtlasRowParameter

Public class

UMaterialExpressionCustom

Public class

UMaterialExpressionCustomOutput

Public class

UMaterialExpressionDDX

Public class

UMaterialExpressionDDY

Public class

UMaterialExpressionDecalDerivative

Public class

UMaterialExpressionDecalLifetimeOpacity

Public class

UMaterialExpressionDecalMipmapLevel

Public class

UMaterialExpressionDeltaTime

Public class

UMaterialExpressionDepthFade

Scales Opacity by a Linear fade based on SceneDepth, from 0 at PixelDepth to 1 at FadeDistance

Public class

UMaterialExpressionDepthOfFieldFunction

Public class

UMaterialExpressionDeriveNormalZ

Public class

UMaterialExpressionDesaturation

Public class

UMaterialExpressionDistance

Public class

UMaterialExpressionDistanceCullFade

Public class

UMaterialExpressionDistanceFieldGradient

Public class

UMaterialExpressionDistanceToNearestSurface

Public class

UMaterialExpressionDivide

Public class

UMaterialExpressionDotProduct

Public class

UMaterialExpressionDynamicParameter

Public class

UMaterialExpressionEyeAdaptation

Provides access to the EyeAdaptation render target.

Public class

UMaterialExpressionFeatureLevelSwitch

Public class

UMaterialExpressionFloor

Public class

UMaterialExpressionFmod

Public class

UMaterialExpressionFontSample

Public class

UMaterialExpressionFontSampleParameter

Public class

UMaterialExpressionFrac

Public class

UMaterialExpressionFresnel

Allows the artists to quickly set up a Fresnel term.

Public class

UMaterialExpressionFunctionInput

Public class

UMaterialExpressionFunctionOutput

Public class

UMaterialExpressionGetMaterialAttributes

Public class

UMaterialExpressionGIReplace

Public class

UMaterialExpressionIf

Public class

UMaterialExpressionLightmapUVs

A material expression that routes LightmapUVs to the material.

Public class

UMaterialExpressionLightmassReplace

Public class

UMaterialExpressionLightVector

Public class

UMaterialExpressionLinearInterpolate

Public class

UMaterialExpressionLogarithm10

Public class

UMaterialExpressionLogarithm2

Public class

UMaterialExpressionMakeMaterialAttributes

Public class

UMaterialExpressionMaterialAttributeLayers

Public class

UMaterialExpressionMaterialFunctionCall

Public class

UMaterialExpressionMaterialLayerOutput

Public class

UMaterialExpressionMaterialProxyReplace

Public class

UMaterialExpressionMax

Public class

UMaterialExpressionMin

Public class

UMaterialExpressionMultiply

Public class

UMaterialExpressionNoise

Public class

UMaterialExpressionNormalize

Public class

UMaterialExpressionObjectBounds

Public class

UMaterialExpressionObjectOrientation

Public class

UMaterialExpressionObjectPositionWS

Public class

UMaterialExpressionObjectRadius

Public class

UMaterialExpressionOneMinus

Public class

UMaterialExpressionPanner

Public class

UMaterialExpressionParameter

Public class

UMaterialExpressionParticleColor

Public class

UMaterialExpressionParticleDirection

Public class

UMaterialExpressionParticleMacroUV

This UV node generates texture coordinates in view space centered on the particle system's MacroUVPosition, with tiling controlled by the particle system's MacroUVRadius.

Public class

UMaterialExpressionParticleMotionBlurFade

Public class

UMaterialExpressionParticlePositionWS

Public class

UMaterialExpressionParticleRadius

Public class

UMaterialExpressionParticleRandom

Public class

UMaterialExpressionParticleRelativeTime

Public class

UMaterialExpressionParticleSize

Public class

UMaterialExpressionParticleSpeed

Public class

UMaterialExpressionParticleSubUV

Public class

UMaterialExpressionPerInstanceFadeAmount

Public class

UMaterialExpressionPerInstanceRandom

Public class

UMaterialExpressionPixelDepth

Gives the depth of the current pixel being drawn for use in a material

Public class

UMaterialExpressionPixelNormalWS

Public class

UMaterialExpressionPower

Public class

UMaterialExpressionPrecomputedAOMask

A material expression that allows access to the precomputed AO mask generated when bGenerateAmbientOcclusionMaterialMask is enabled in Lightmass World settings.

Public class

UMaterialExpressionPreSkinnedNormal

Public class

UMaterialExpressionPreSkinnedPosition

Public class

UMaterialExpressionPreviousFrameSwitch

Public class

UMaterialExpressionQualitySwitch

Public class

UMaterialExpressionRayTracingQualitySwitch

Public class

UMaterialExpressionReflectionVectorWS

Public class

UMaterialExpressionReroute

Absolute value material expression for user-defined materials

Public class

UMaterialExpressionRotateAboutAxis

Public class

UMaterialExpressionRotator

Public class

UMaterialExpressionRound

Public class

UMaterialExpressionSaturate

Public class

UMaterialExpressionScalarParameter

Public class

UMaterialExpressionSceneColor

Public class

UMaterialExpressionSceneDepth

Public class

UMaterialExpressionSceneTexelSize

Public class

UMaterialExpressionSceneTexture

Public class

UMaterialExpressionScreenPosition

Public class

UMaterialExpressionSetMaterialAttributes

Public class

UMaterialExpressionShadingPathSwitch

Public class

UMaterialExpressionShadowReplace

Public class

UMaterialExpressionSign

Public class

UMaterialExpressionSine

Public class

UMaterialExpressionSobol

Public class

UMaterialExpressionSpeedTree

Public class

UMaterialExpressionSphereMask

Public class

UMaterialExpressionSphericalParticleOpacity

Public class

UMaterialExpressionSquareRoot

Public class

UMaterialExpressionStaticBool

Public class

UMaterialExpressionStaticBoolParameter

Public class

UMaterialExpressionStaticComponentMaskParameter

Public class

UMaterialExpressionStaticSwitch

Public class

UMaterialExpressionStaticSwitchParameter

Public class

UMaterialExpressionSubtract

Public class

UMaterialExpressionTangent

Public class

UMaterialExpressionTangentOutput

Public class

UMaterialExpressionTemporalSobol

Public class

UMaterialExpressionTextureBase

Public class

UMaterialExpressionTextureCoordinate

Public class

UMaterialExpressionTextureObject

Public class

UMaterialExpressionTextureObjectParameter

Node which creates a texture parameter and outputs the texture object itself, instead of sampling the texture first.

Public class

UMaterialExpressionTextureProperty

Public class

UMaterialExpressionTextureSample

Public class

UMaterialExpressionTextureSampleParameter

Public class

UMaterialExpressionTextureSampleParameter2D

Public class

UMaterialExpressionTextureSampleParameterCube

Public class

UMaterialExpressionTextureSampleParameterSubUV

Public class

UMaterialExpressionTextureSampleParameterVolume

Public class

UMaterialExpressionTime

Public class

UMaterialExpressionTransform

Public class

UMaterialExpressionTransformPosition

Public class

UMaterialExpressionTruncate

Public class

UMaterialExpressionTwoSidedSign

Public class

UMaterialExpressionVectorNoise

Public class

UMaterialExpressionVectorParameter

Public class

UMaterialExpressionVertexColor

Public class

UMaterialExpressionVertexInterpolator

Public class

UMaterialExpressionVertexNormalWS

Public class

UMaterialExpressionViewProperty

Public class

UMaterialExpressionViewSize

Public class

UMaterialExpressionWorldPosition

Public class

UMaterialFunction

A Material Function is a collection of material expressions that can be reused in different materials

Public class

UMaterialFunctionInstance

A material function instance defines parameter overrides for a parent material function.

Public class

UMaterialFunctionInterface

A Material Function is a collection of material expressions that can be reused in different materials

Public class

UMaterialFunctionMaterialLayer

Specialized Material Function that acts as a layer

Public class

UMaterialFunctionMaterialLayerBlend

Specialized Material Function that acts as a blend

Public class

UMaterialFunctionMaterialLayerBlendInstance

Specialized Material Function Instance that instances a blend

Public class

UMaterialFunctionMaterialLayerInstance

Specialized Material Function Instance that instances a layer

Public class

UMaterialInstance

Public class

UMaterialInstanceConstant

Material Instances may be used to change the appearance of a material without incurring an expensive recompilation of the material.

Public class

UMaterialInstanceDynamic

Public class

UMaterialInterface

Public class

UMaterialParameterCollection

Asset class that contains a list of parameter names and their default values.

Public class

UMaterialParameterCollectionInstance

Class that stores per-world instance parameter data for a given UMaterialParameterCollection resource.

Enums

Name

Description

Public enum

EChannelMaskParameterColor::Type

Public enum

EClampMode

Public enum

ECustomMaterialOutputType

Public enum

EDecalBlendMode

Defines how the GBuffer channels are getting manipulated by a decal material pass.

Public enum

EDepthOfFieldFunctionValue

Note: The index is used to map the enum to different code in the shader.

Public enum

EFunctionInputType

Supported input types

Public enum

EMaterialAttributeBlend::Type

Public enum

EMaterialDecalResponse

Defines how the material reacts on DBuffer decals, later we can expose more variants between None and Default.

Public enum

EMaterialExposedTextureProperty

Selects the texture property to output

Public enum

EMaterialExposedViewProperty

Public enum

EMaterialFunctionUsage

Usage set on a material function determines feature compatibility and validation.

Public enum

EMaterialParameterAssociation

Public enum

EMaterialPositionTransformSource

Public enum

EMaterialSceneAttributeInputMode::Type

Public enum

EMaterialUsage

Public enum

EMaterialVectorCoordTransform

Public enum

EMaterialVectorCoordTransformSource

Public enum

ENoiseFunction

Public enum

ESceneTextureId

Like EPassInputId but can expose more e.g. GBuffer

Public enum

ESpeedTreeGeometryType

Public enum

ESpeedTreeLODType

Public enum

ESpeedTreeWindType

Public enum

ETextureColorChannel

Public enum

ETextureMipValueMode

Defines how MipValue is used

Public enum

EVectorNoiseFunction

Public enum

EWorldPositionIncludedOffsets

Specifies which shader generated offsets should included in the world position (displacement/WPO etc.)

Functions

Name Description

Public function

bool

 

CompareValueArraysByExpressionGUID

(
    const TArray< T >& InA,
    const TArray< T >& InB
)

Public function

void

 

FindClosestExpressionByGUIDRecursive

(
    const FName& InName,
    const FGuid& InGUID,
    const TArray< UMaterialExpression&...,
    ExpressionType*& OutExpression
)

Workaround - Similar to base call but evaluates all expressions found, not just the first

Public function

bool

 

IsDBufferDecalBlendMode

(
    EDecalBlendMode In
)

Public function

void

 

ProcessSerializedInlineShaderMaps

(
    UMaterialInterface* Owner,
    TArray< FMaterialResource >& Loade...,
    FMaterialResource*(&) OutMater...
)

Helper function to process (register) serialized inline shader maps for the given material resources.

Public function

void

 

SerializeInlineShaderMaps

(
    const TMap< const class ITargetPlat...,
    FArchive& Ar,
    TArray< FMaterialResource >& OutLo...,
    uint32* OutOffsetToFirstResour...
)

Helper function to serialize inline shader maps for the given material resources.

Public function

void

 

SetCompactFullNameFromObject

(
    FCompactFullName& Dest,
    UObject* InDepObject
)

Used to set up some compact FName paths for the FCompactFullName.

Public function

bool

 

UpdateParameterSet

(
    TArray< ParameterType >& Parameter...,
    UMaterial* ParentMaterial
)

This function takes a array of parameter structs and attempts to establish a reference to the expression object each parameter represents.

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