Show / Hide Table of Contents

Class Material

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

Inheritance
System.Object
UObject
MaterialInterface
Material
PreviewMaterial
Inherited Members
MaterialInterface.GetBaseMaterial()
MaterialInterface.GetPhysicalMaterial()
MaterialInterface.SetForceMipLevelsToBeResident(Boolean, Boolean, Single, Int32)
MaterialInterface.SubsurfaceProfile
MaterialInterface.LightmassSettings
MaterialInterface.bTextureStreamingDataSorted
MaterialInterface.TextureStreamingDataVersion
MaterialInterface.AssetUserData
MaterialInterface.PreviewMesh
MaterialInterface.ThumbnailInfo
MaterialInterface.AssetImportData
MaterialInterface.LightingGuid
UObject.TransientPackage
UObject.CastTo<T>(UObject)
UObject.CastTo(UObject, Type)
UObject.RemoveObject(UObject)
UObject.MakeObjectArrayField<T>(NativeArray*)
UObject.NotImplemented<T>()
UObject.Construct()
UObject.GetHashCode()
UObject.GetName()
UObject.ToString()
UObject.Name
UObject._None
UObject.None
UObject.ObjPointer
UObject.LoadObjectFromClass(Class, UObject, String, String, LoadFlags, PackageMap, Boolean)
UObject.LoadClass(Class, UObject, String, String, LoadFlags, PackageMap)
UObject.GetPropertyFor<T>(Name)
UObject.ExecuteUbergraph
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: UE4.Engine
Assembly: UE4DotNet.dll
Syntax
public class Material : MaterialInterface
Remarks

When light from the scene hits the surface, the shading model of the material is used to calculate how that light interacts with the surface.

Warning: Creating new materials directly increases shader compile times! Consider creating a Material Instance off of an existing material instead.

Properties

| Improve this Doc View Source

AllowTranslucentCustomDepthWrites

Declaration
public bool AllowTranslucentCustomDepthWrites { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

AmbientOcclusion

output ambient occlusion to the GBuffer

Declaration
public ScalarMaterialInput AmbientOcclusion { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

bAllowDevelopmentShaderCompile

Declaration
public bool bAllowDevelopmentShaderCompile { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bAllowNegativeEmissiveColor

Declaration
public bool bAllowNegativeEmissiveColor { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

BaseColor

Base Color

Declaration
public ColorMaterialInput BaseColor { get; set; }
Property Value
Type Description
ColorMaterialInput
| Improve this Doc View Source

bAutomaticallySetUsageInEditor

Declaration
public bool bAutomaticallySetUsageInEditor { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bBlockGI

Declaration
public bool bBlockGI { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bCanMaskedBeAssumedOpaque

Declaration
public bool bCanMaskedBeAssumedOpaque { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bCastDynamicShadowAsMasked

Declaration
public bool bCastDynamicShadowAsMasked { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bComputeFogPerPixel

Declaration
public bool bComputeFogPerPixel { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bContactShadows

Declaration
public bool bContactShadows { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bDisableDepthTest

Declaration
public bool bDisableDepthTest { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bEnableAdaptiveTessellation

Declaration
public bool bEnableAdaptiveTessellation { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bEnableCrackFreeDisplacement

Declaration
public bool bEnableCrackFreeDisplacement { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bEnableMobileSeparateTranslucency

Declaration
public bool bEnableMobileSeparateTranslucency { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bEnableResponsiveAA

Declaration
public bool bEnableResponsiveAA { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bEnableSeparateTranslucency

Declaration
public bool bEnableSeparateTranslucency { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bFullyRough

Declaration
public bool bFullyRough { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bGenerateSphericalParticleNormals

Declaration
public bool bGenerateSphericalParticleNormals { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bIsFunctionPreviewMaterial

Declaration
public bool bIsFunctionPreviewMaterial { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bIsMaterialEditorStatsMaterial

Declaration
public bool bIsMaterialEditorStatsMaterial { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bIsPreviewMaterial

Declaration
public bool bIsPreviewMaterial { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

BlendableLocation

Where the node is inserted in the (post processing) graph, only used if domain is PostProcess

Declaration
public byte BlendableLocation { get; set; }
Property Value
Type Description
System.Byte
| Improve this Doc View Source

BlendableOutputAlpha

Declaration
public bool BlendableOutputAlpha { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

BlendablePriority

If multiple nodes with the same type are inserted at the same point, this defined order and if they get combined, only used if domain is PostProcess

Declaration
public int BlendablePriority { get; set; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

BlendMode

Determines how the material's color is blended with background colors.

Declaration
public byte BlendMode { get; }
Property Value
Type Description
System.Byte
| Improve this Doc View Source

bNormalCurvatureToRoughness

Declaration
public bool bNormalCurvatureToRoughness { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bOutputVelocityOnBasePass

Declaration
public bool bOutputVelocityOnBasePass { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bScreenSpaceReflections

Declaration
public bool bScreenSpaceReflections { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bTangentSpaceNormal

Declaration
public bool bTangentSpaceNormal { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedAsSpecialEngineMaterial

Declaration
public bool bUsedAsSpecialEngineMaterial { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithBeamTrails

Declaration
public bool bUsedWithBeamTrails { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithClothing

Declaration
public bool bUsedWithClothing { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithEditorCompositing

Declaration
public bool bUsedWithEditorCompositing { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithGeometryCache

Declaration
public bool bUsedWithGeometryCache { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithInstancedStaticMeshes

Declaration
public bool bUsedWithInstancedStaticMeshes { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithMeshParticles

Declaration
public bool bUsedWithMeshParticles { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithMorphTargets

Declaration
public bool bUsedWithMorphTargets { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithNiagaraMeshParticles

Declaration
public bool bUsedWithNiagaraMeshParticles { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithNiagaraRibbons

Declaration
public bool bUsedWithNiagaraRibbons { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithNiagaraSprites

Declaration
public bool bUsedWithNiagaraSprites { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithParticleSprites

Declaration
public bool bUsedWithParticleSprites { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithSkeletalMesh

Declaration
public bool bUsedWithSkeletalMesh { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithSplineMeshes

Declaration
public bool bUsedWithSplineMeshes { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsedWithStaticLighting

Declaration
public bool bUsedWithStaticLighting { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUseEmissiveForDynamicAreaLighting

Declaration
public bool bUseEmissiveForDynamicAreaLighting { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUseFullPrecision

Declaration
public bool bUseFullPrecision { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUseHQForwardReflections

Declaration
public bool bUseHQForwardReflections { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUseLightmapDirectionality

Declaration
public bool bUseLightmapDirectionality { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUseMaterialAttributes

Declaration
public bool bUseMaterialAttributes { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsePlanarForwardReflections

Declaration
public bool bUsePlanarForwardReflections { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUsesDistortion

Declaration
public bool bUsesDistortion { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bUseTranslucencyVertexFog

Declaration
public bool bUseTranslucencyVertexFog { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

bWriteOnlyAlpha

Declaration
public bool bWriteOnlyAlpha { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

ClearCoat

Clear Coat

Declaration
public ScalarMaterialInput ClearCoat { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

ClearCoatRoughness

Clear Coat Roughness

Declaration
public ScalarMaterialInput ClearCoatRoughness { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

CustomizedUVs

These inputs are evaluated in the vertex shader and allow artists to do arbitrary vertex shader operations and access them in the pixel shader.

Declaration
public Vector2MaterialInput CustomizedUVs { get; set; }
Property Value
Type Description
Vector2MaterialInput
Remarks

When unconnected or hidden they default to passing through the vertex UVs.

| Improve this Doc View Source

D3D11TessellationMode

The type of tessellation to apply to this object. Note D3D11 required for anything except MTM_NoTessellation.

Declaration
public byte D3D11TessellationMode { get; }
Property Value
Type Description
System.Byte
| Improve this Doc View Source

DecalBlendMode

Defines how the GBuffer chanels are getting manipulated by a decal material pass. (only with MaterialDomain == MD_DeferredDecal)

Declaration
public byte DecalBlendMode { get; set; }
Property Value
Type Description
System.Byte
| Improve this Doc View Source

DefaultObject

Get UE4 Default Object for this Class

Declaration
public static Material DefaultObject { get; }
Property Value
Type Description
Material
| Improve this Doc View Source

DitheredLODTransition

Declaration
public bool DitheredLODTransition { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

DitherOpacityMask

Declaration
public bool DitherOpacityMask { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

EditorComments

Array of comments associated with this material; viewed in the material editor.

Declaration
public ObjectArrayField<MaterialExpressionComment> EditorComments { get; }
Property Value
Type Description
ObjectArrayField<MaterialExpressionComment>
| Improve this Doc View Source

EditorPitch

Editor Pitch

Declaration
public int EditorPitch { get; set; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

EditorX

Editor X

Declaration
public int EditorX { get; set; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

EditorY

Editor Y

Declaration
public int EditorY { get; set; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

EditorYaw

Editor Yaw

Declaration
public int EditorYaw { get; set; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

EmissiveColor

Emission.

Declaration
public ColorMaterialInput EmissiveColor { get; set; }
Property Value
Type Description
ColorMaterialInput
| Improve this Doc View Source

Expressions

Array of material expressions, excluding Comments. Used by the material editor.

Declaration
public ObjectArrayField<MaterialExpression> Expressions { get; }
Property Value
Type Description
ObjectArrayField<MaterialExpression>
| Improve this Doc View Source

ExpressionTextureReferences

Cached texture references from all expressions in the material (including nested functions).

Declaration
public ObjectArrayField<Texture> ExpressionTextureReferences { get; }
Property Value
Type Description
ObjectArrayField<Texture>
Remarks

This is used to link uniform texture expressions which were stored in the DDC with the UTextures that they reference.

| Improve this Doc View Source

MaterialAttributes

Material Attributes

Declaration
public MaterialAttributesInput MaterialAttributes { get; set; }
Property Value
Type Description
MaterialAttributesInput
| Improve this Doc View Source

MaterialDecalResponse

Defines how the material reacts on DBuffer decals (Affects look, performance and texture/sample usage).

Declaration
public byte MaterialDecalResponse { get; }
Property Value
Type Description
System.Byte
Remarks

Non DBuffer Decals can be disabled on the primitive (e.g. static mesh)

| Improve this Doc View Source

MaterialDomain

The domain that the material's attributes will be evaluated in.

Declaration
public byte MaterialDomain { get; }
Property Value
Type Description
System.Byte
Remarks

Certain pieces of material functionality are only valid in certain domains, for example vertex normal is only valid on a surface.

| Improve this Doc View Source

MaxDisplacement

Max Displacement

Declaration
public float MaxDisplacement { get; set; }
Property Value
Type Description
System.Single
| Improve this Doc View Source

Metallic

Metallic

Declaration
public ScalarMaterialInput Metallic { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

Normal

Normal

Declaration
public VectorMaterialInput Normal { get; set; }
Property Value
Type Description
VectorMaterialInput
| Improve this Doc View Source

NumCustomizedUVs

Number of customized UV inputs to display. Unconnected customized UV inputs will just pass through the vertex UVs.

Declaration
public int NumCustomizedUVs { get; set; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

Opacity

Transmission.

Declaration
public ScalarMaterialInput Opacity { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

OpacityMask

Opacity Mask

Declaration
public ScalarMaterialInput OpacityMask { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

OpacityMaskClipValue

Declaration
public float OpacityMaskClipValue { get; set; }
Property Value
Type Description
System.Single
| Improve this Doc View Source

PhysMaterial

Physical material to use for this graphics material. Used for sounds, effects etc.

Declaration
public PhysicalMaterial PhysMaterial { get; set; }
Property Value
Type Description
PhysicalMaterial
| Improve this Doc View Source

PixelDepthOffset

Pixel Depth Offset

Declaration
public ScalarMaterialInput PixelDepthOffset { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

Refraction

output refraction index for translucent rendering Air:1.

Declaration
public ScalarMaterialInput Refraction { get; set; }
Property Value
Type Description
ScalarMaterialInput
Remarks

0 Water:1.333 Ice:1.3 Glass:~1.6 Diamond:2.42

| Improve this Doc View Source

RefractionDepthBias

This is the refraction depth bias, larger values offset distortion to prevent closer objects from rendering into the distorted surface at acute viewing angles but increases the disconnect between surface and where the refraction starts.

Declaration
public float RefractionDepthBias { get; set; }
Property Value
Type Description
System.Single
| Improve this Doc View Source

RefractionMode

Controls how the Refraction input is interpreted and how the refraction offset into scene color is computed for this material.

Declaration
public byte RefractionMode { get; set; }
Property Value
Type Description
System.Byte
| Improve this Doc View Source

Roughness

Roughness

Declaration
public ScalarMaterialInput Roughness { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

ShadingModel

Determines how inputs are combined to create the material's final color.

Declaration
public byte ShadingModel { get; set; }
Property Value
Type Description
System.Byte
| Improve this Doc View Source

Specular

Specular

Declaration
public ScalarMaterialInput Specular { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

StateId

Guid that uniquely identifies this material.

Declaration
public FGuid StateId { get; set; }
Property Value
Type Description
FGuid
Remarks

Any changes to the state of the material that do not appear separately in the shadermap DDC keys must cause this guid to be regenerated! For example, a modification to the Expressions array. Code changes that cause the guid to be regenerated on load should be avoided, as that requires a resave of the content to stop recompiling every load.

| Improve this Doc View Source

StaticClass

Get UE4 Class

Declaration
public static Class StaticClass { get; }
Property Value
Type Description
Class
| Improve this Doc View Source

SubsurfaceColor

Inner material color, only used for ShadingModel=Subsurface

Declaration
public ColorMaterialInput SubsurfaceColor { get; set; }
Property Value
Type Description
ColorMaterialInput
| Improve this Doc View Source

TessellationMultiplier

Multiplies the tessellation factors applied when a tessellation mode is set.

Declaration
public ScalarMaterialInput TessellationMultiplier { get; set; }
Property Value
Type Description
ScalarMaterialInput
| Improve this Doc View Source

TranslucencyDirectionalLightingIntensity

Useful for artificially increasing the influence of the normal on the lighting result for translucency.

Declaration
public float TranslucencyDirectionalLightingIntensity { get; set; }
Property Value
Type Description
System.Single
Remarks

A value larger than 1 increases the influence of the normal, a value smaller than 1 makes the lighting more ambient.

| Improve this Doc View Source

TranslucencyLightingMode

Sets the lighting mode that will be used on this material if it is translucent.

Declaration
public byte TranslucencyLightingMode { get; set; }
Property Value
Type Description
System.Byte
| Improve this Doc View Source

TranslucentBackscatteringExponent

Controls how diffuse the material's backscattering is when using the MSM_Subsurface shading model.

Declaration
public float TranslucentBackscatteringExponent { get; set; }
Property Value
Type Description
System.Single
Remarks

Larger exponents give a less diffuse look (smaller, brighter backscattering highlight). This is only used when the object is casting a volumetric translucent shadow from a directional light.

| Improve this Doc View Source

TranslucentMultipleScatteringExtinction

Colored extinction factor used to approximate multiple scattering in dense volumes.

Declaration
public LinearColor TranslucentMultipleScatteringExtinction { get; set; }
Property Value
Type Description
LinearColor
Remarks

This is only used when the object is casting a volumetric translucent shadow.

| Improve this Doc View Source

TranslucentSelfShadowDensityScale

Scale used to make translucent self-shadowing more or less opaque than the material's shadow on other objects.

Declaration
public float TranslucentSelfShadowDensityScale { get; set; }
Property Value
Type Description
System.Single
Remarks

This is only used when the object is casting a volumetric translucent shadow.

| Improve this Doc View Source

TranslucentSelfShadowSecondDensityScale

Used to make a second self shadow gradient, to add interesting shading in the shadow of the first.

Declaration
public float TranslucentSelfShadowSecondDensityScale { get; set; }
Property Value
Type Description
System.Single
| Improve this Doc View Source

TranslucentSelfShadowSecondOpacity

Controls the strength of the second self shadow gradient.

Declaration
public float TranslucentSelfShadowSecondOpacity { get; set; }
Property Value
Type Description
System.Single
| Improve this Doc View Source

TranslucentShadowDensityScale

Scale used to make translucent shadows more or less opaque than the material's actual opacity.

Declaration
public float TranslucentShadowDensityScale { get; set; }
Property Value
Type Description
System.Single
| Improve this Doc View Source

TranslucentShadowStartOffset

Local space distance to bias the translucent shadow. Positive values move the shadow away from the light.

Declaration
public float TranslucentShadowStartOffset { get; set; }
Property Value
Type Description
System.Single
| Improve this Doc View Source

TwoSided

Declaration
public bool TwoSided { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

Wireframe

Declaration
public bool Wireframe { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

WorldDisplacement

Offset in world space applied to tessellated vertices.

Declaration
public VectorMaterialInput WorldDisplacement { get; set; }
Property Value
Type Description
VectorMaterialInput
| Improve this Doc View Source

WorldPositionOffset

Adds to world position in the vertex shader.

Declaration
public VectorMaterialInput WorldPositionOffset { get; set; }
Property Value
Type Description
VectorMaterialInput

Methods

| Improve this Doc View Source

New(UObject, Name)

Spawn an object of this class

Declaration
public static Material New(UObject obj = null, Name name = default(Name))
Parameters
Type Name Description
UObject obj
Name name
Returns
Type Description
Material

Operators

| Improve this Doc View Source

Implicit(IntPtr to Material)

Convert from IntPtr to UObject

Declaration
public static implicit operator Material(IntPtr p)
Parameters
Type Name Description
System.IntPtr p
Returns
Type Description
Material
  • Improve this Doc
  • View Source
Back to top Generated by DocFX