G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
UMaterial Class Reference

A Material is an asset which can be applied to a mesh to control the visual look of the scene. 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. More...

Public Member Functions

Functions
bool GetbUsedWithHairStrands () const
 Indicates that the material and its instances can be use with hair strands This will result in the shaders required to support hair strands geometries being compiled which will increase shader compile time and memory usage.
void SetbCastDynamicShadowAsMasked (bool Value)
 Whether the material should cast shadows as masked even though it has a translucent blend mode.
void SetbEnableResponsiveAA (bool Value)
 Indicates that the material should be rendered using responsive anti-aliasing. Improves sharpness of small moving particles such as sparks. Only use for small moving features because it will cause aliasing of the background.
void SetbUseSystemDefaultForShadow (bool Value)
 THQNBCN Start BFG_JConradie : Shadow Material Optimization.
void SetbScreenSpaceReflections (bool Value)
 SSR on translucency.
void SetbContactShadows (bool Value)
 Contact shadows on translucency.
void SetTwoSided (bool Value)
 Indicates that the material should be rendered without backface culling and the normal should be flipped for backfaces.
void SetbIsThinSurface (bool Value)
 Indicates that the material should be rendered as a thin surface (i.e., without inner volume). Only used by Substrate materials. Enabling ThinSurface will disable subsurface profiles.
void SetDitheredLODTransition (bool Value)
 Whether meshes rendered with the material should support dithered LOD transitions.
void SetDitherOpacityMask (bool Value)
 Dither opacity mask. When combined with Temporal AA this can be used as a form of limited translucency which supports all lighting features.
void SetbAllowNegativeEmissiveColor (bool Value)
 Whether the material should allow outputting negative emissive color values. Only allowed on unlit materials.
void SetbHasPixelAnimation (bool Value)
 Whether the opaque material has any pixel animations happening, that isn't included in the geometric velocities. This allows to disable renderer's heuristics that assumes animation is fully described with motion vector, such as TSR's anti-flickering heuristic.
void SetbEnableTessellation (bool Value)
 Whether tessellation is enabled on the material. NOTE: Required for displacement to work.
void SetbEnableMobileSeparateTranslucency (bool Value)
 Indicates that the translucent material should not be affected by bloom or DOF. (Note: Depth testing is not available).
void SetbDisableDepthTest (bool Value)
 Whether to draw on top of opaque pixels even if behind them. This only has meaning for translucency.
void SetbWriteOnlyAlpha (bool Value)
 Whether the transluency pass should write its alpha, and only the alpha, into the framebuffer.
void SetbGenerateSphericalParticleNormals (bool Value)
 Whether to generate spherical normals for particles that use this material.
void SetbTangentSpaceNormal (bool Value)
 Whether the material takes a tangent space normal or a world space normal as input. (TangentSpace requires extra instructions but is often more convenient).
bool GetbUseEmissiveForDynamicAreaLighting () const
 If enabled, the material's emissive colour is injected into the LightPropagationVolume.
void SetbUseEmissiveForDynamicAreaLighting (bool Value)
 If enabled, the material's emissive colour is injected into the LightPropagationVolume.
bool GetbUsedWithSkeletalMesh () const
 Indicates that the material and its instances can be used with skeletal meshes. This will result in the shaders required to support skeletal meshes being compiled which will increase shader compile time and memory usage.
void SetbUsedWithSkeletalMesh (bool Value)
 Indicates that the material and its instances can be used with skeletal meshes. This will result in the shaders required to support skeletal meshes being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithEditorCompositing () const
 Indicates that the material and its instances can be used with editor compositing This will result in the shaders required to support editor compositing being compiled which will increase shader compile time and memory usage.
void SetbUsedWithEditorCompositing (bool Value)
 Indicates that the material and its instances can be used with editor compositing This will result in the shaders required to support editor compositing being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithParticleSprites () const
 Indicates that the material and its instances can be used with particle sprites This will result in the shaders required to support particle sprites being compiled which will increase shader compile time and memory usage.
void SetbUsedWithParticleSprites (bool Value)
 Indicates that the material and its instances can be used with particle sprites This will result in the shaders required to support particle sprites being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithBeamTrails () const
 Indicates that the material and its instances can be used with beam trails This will result in the shaders required to support beam trails being compiled which will increase shader compile time and memory usage.
void SetbUsedWithBeamTrails (bool Value)
 Indicates that the material and its instances can be used with beam trails This will result in the shaders required to support beam trails being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithMeshParticles () const
 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.
void SetbUsedWithMeshParticles (bool Value)
 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.
bool GetbUsedWithNiagaraSprites () const
 Indicates that the material and its instances can be used with Niagara sprites (meshes and ribbons, respectively) This will result in the shaders required to support Niagara sprites being compiled which will increase shader compile time and memory usage.
void SetbUsedWithNiagaraSprites (bool Value)
 Indicates that the material and its instances can be used with Niagara sprites (meshes and ribbons, respectively) This will result in the shaders required to support Niagara sprites being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithNiagaraRibbons () const
void SetbUsedWithNiagaraRibbons (bool Value)
bool GetbUsedWithNiagaraMeshParticles () const
void SetbUsedWithNiagaraMeshParticles (bool Value)
bool GetbUsedWithGeometryCache () const
void SetbUsedWithGeometryCache (bool Value)
bool GetbUsedWithStaticLighting () const
 Indicates that the material and its instances can be used with static lighting This will result in the shaders required to support static lighting being compiled which will increase shader compile time and memory usage.
void SetbUsedWithStaticLighting (bool Value)
 Indicates that the material and its instances can be used with static lighting This will result in the shaders required to support static lighting being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithMorphTargets () const
 Indicates that the material and its instances can be used with morph targets This will result in the shaders required to support morph targets being compiled which will increase shader compile time and memory usage.
void SetbUsedWithMorphTargets (bool Value)
 Indicates that the material and its instances can be used with morph targets This will result in the shaders required to support morph targets being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithSplineMeshes () const
 Indicates that the material and its instances can be used with spline meshes This will result in the shaders required to support spline meshes being compiled which will increase shader compile time and memory usage.
void SetbUsedWithSplineMeshes (bool Value)
 Indicates that the material and its instances can be used with spline meshes This will result in the shaders required to support spline meshes being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithInstancedStaticMeshes () const
 Indicates that the material and its instances can be used with instanced static meshes This will result in the shaders required to support instanced static meshes being compiled which will increase shader compile time and memory usage.
void SetbUsedWithInstancedStaticMeshes (bool Value)
 Indicates that the material and its instances can be used with instanced static meshes This will result in the shaders required to support instanced static meshes being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithGeometryCollections () const
 Indicates that the material and its instances can be use with geometry collections This will result in the shaders required to support geometry collections being compiled which will increase shader compile time and memory usage.
void SetbUsedWithGeometryCollections (bool Value)
 Indicates that the material and its instances can be use with geometry collections This will result in the shaders required to support geometry collections being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithClothing () const
 Indicates that the material and its instances can be used with clothing This will result in the shaders required to support clothing being compiled which will increase shader compile time and memory usage.
void SetbUsedWithClothing (bool Value)
 Indicates that the material and its instances can be used with clothing This will result in the shaders required to support clothing being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithWater () const
 Indicates that the material and its instances can be use with water This will result in the shaders required to support water meshes being compiled which will increase shader compile time and memory usage.
void SetbUsedWithWater (bool Value)
 Indicates that the material and its instances can be use with water This will result in the shaders required to support water meshes being compiled which will increase shader compile time and memory usage.
void SetBlendMode (const EBlendMode &Value)
 Determines how the material's color is blended with background colors.
void SetbUsedWithHairStrands (bool Value)
 Indicates that the material and its instances can be use with hair strands This will result in the shaders required to support hair strands geometries being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithLidarPointCloud () const
 Indicates that the material and its instances can be use with LiDAR Point Clouds This will result in the shaders required to support LiDAR Point Cloud geometries being compiled which will increase shader compile time and memory usage.
void SetbUsedWithLidarPointCloud (bool Value)
 Indicates that the material and its instances can be use with LiDAR Point Clouds This will result in the shaders required to support LiDAR Point Cloud geometries being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithVirtualHeightfieldMesh () const
 Indicates that the material and its instances can be used with Virtual Heightfield Mesh. This will result in the shaders required to support Virtual Heightfield Mesh geometries being compiled which will increase shader compile time and memory usage.
void SetbUsedWithVirtualHeightfieldMesh (bool Value)
 Indicates that the material and its instances can be used with Virtual Heightfield Mesh. This will result in the shaders required to support Virtual Heightfield Mesh geometries being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithNanite () const
 Indicates that the material and its instances can be used with Nanite meshes. This will result in the shaders required to support Nanite geometries being compiled which will increase shader compile time and memory usage.
void SetbUsedWithNanite (bool Value)
 Indicates that the material and its instances can be used with Nanite meshes. This will result in the shaders required to support Nanite geometries being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithVolumetricCloud () const
 Indicates that the material and its instances with volumetric cloud. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Volumetric Cloud rendering being compiled which will increase shader compile time and memory usage.
void SetbUsedWithVolumetricCloud (bool Value)
 Indicates that the material and its instances with volumetric cloud. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Volumetric Cloud rendering being compiled which will increase shader compile time and memory usage.
bool GetbUsedWithHeterogeneousVolumes () const
 Indicates that the material and its instances with heterogeneous volumes. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Heterogeneous Volumes rendering being compiled which will increase shader compile time and memory usage.
void SetbUsedWithHeterogeneousVolumes (bool Value)
 Indicates that the material and its instances with heterogeneous volumes. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Heterogeneous Volumes rendering being compiled which will increase shader compile time and memory usage.
bool GetbAutomaticallySetUsageInEditor () const
 Whether to automatically set usage flags based on what the material is applied to in the editor. It can be useful to disable this on a base material with many instances, where adding another usage flag accidentally (eg bUsedWithSkeletalMeshes) can add a lot of shader permutations.
void SetbAutomaticallySetUsageInEditor (bool Value)
 Whether to automatically set usage flags based on what the material is applied to in the editor. It can be useful to disable this on a base material with many instances, where adding another usage flag accidentally (eg bUsedWithSkeletalMeshes) can add a lot of shader permutations.
bool GetbFullyRough () const
 Forces the material to be completely rough. Saves a number of instructions and one sampler.
void SetbFullyRough (bool Value)
 Forces the material to be completely rough. Saves a number of instructions and one sampler.
bool GetbUseLightmapDirectionality () const
 Use lightmap directionality and per pixel normals. If disabled, lighting from lightmaps will be flat but cheaper.
void SetbUseLightmapDirectionality (bool Value)
 Use lightmap directionality and per pixel normals. If disabled, lighting from lightmaps will be flat but cheaper.
bool GetbMobileEnableHighQualityBRDF () const
 Use the high quality brdf functions on mobile to get better visual effects but adds GPU cost.
void SetbMobileEnableHighQualityBRDF (bool Value)
 Use the high quality brdf functions on mobile to get better visual effects but adds GPU cost.
bool GetbUseAlphaToCoverage () const
 Use alpha to coverage for masked material on mobile, make sure MSAA is enabled as well.
void SetbUseAlphaToCoverage (bool Value)
 Use alpha to coverage for masked material on mobile, make sure MSAA is enabled as well.
bool GetbForwardRenderUsePreintegratedGFForSimpleIBL () const
 Forward (including mobile) renderer: use preintegrated GF lut for simple IBL, but will use one more sampler.
void SetbForwardRenderUsePreintegratedGFForSimpleIBL (bool Value)
 Forward (including mobile) renderer: use preintegrated GF lut for simple IBL, but will use one more sampler.
bool GetbUseHQForwardReflections () const
 Forward renderer: enables multiple parallax-corrected reflection captures that blend together.
void SetbUseHQForwardReflections (bool Value)
 Forward renderer: enables multiple parallax-corrected reflection captures that blend together.
bool GetbForwardBlendsSkyLightCubemaps () const
 Enables blending of sky light cubemap textures. When disabled, the secondary cubemap is only visible when the blend factor is 1.
void SetbForwardBlendsSkyLightCubemaps (bool Value)
 Enables blending of sky light cubemap textures. When disabled, the secondary cubemap is only visible when the blend factor is 1.
bool GetbUsePlanarForwardReflections () const
 Enables planar reflection when using the forward renderer or mobile. Enabling this setting reduces the number of samplers available to the material as one more sampler will be used for the planar reflection.
void SetbUsePlanarForwardReflections (bool Value)
 Enables planar reflection when using the forward renderer or mobile. Enabling this setting reduces the number of samplers available to the material as one more sampler will be used for the planar reflection.
bool GetbNormalCurvatureToRoughness () const
 Reduce roughness based on screen space normal changes.
void SetbNormalCurvatureToRoughness (bool Value)
 Reduce roughness based on screen space normal changes.
void SetAllowTranslucentCustomDepthWrites (bool Value)
 Allows a translucent material to be used with custom depth writing by compiling additional shaders.
void SetbAllowFrontLayerTranslucency (bool Value)
 Allows a translucent material to be used with Front Layer Translucency by compiling additional shaders. Useful for controlling what should be included in Front Layer Translucency.
void SetWireframe (bool Value)
 Enables a wireframe view of the mesh the material is applied to.
void SetbAllowVariableRateShading (bool Value)
 Allows the use of variable rate shading when evaluating this material. This will only apply to the base/translucency pass.
void SetbUseMaterialAttributes (bool Value)
 when true, the material attributes pin is used instead of the regular pins.
void SetbEnableExecWire (bool Value)
void SetbEnableNewHLSLGenerator (bool Value)
void SetbCastRayTracedShadows (bool Value)
 when true, the material casts ray tracing shadows.
void SetbUseTranslucencyVertexFog (bool Value)
 When true, translucent materials are fogged. Defaults to true.
void SetbApplyCloudFogging (bool Value)
 When true, translucent materials receive cloud contribution as part of the fog evaluation, per vertex or per pixel according to the other selected options. This is a rough approximation but can help in some cases. Defaults to false. Fog is applied on clouds, so Apply Fogging must be true to use this feature.
void SetbIsSky (bool Value)
 Unlit and Opaque materials can be used as sky material on a sky dome mesh. When IsSky is true, these meshes will not receive any contribution from the aerial perspective. Height and Volumetric fog effects will still be applied.
void SetbComputeFogPerPixel (bool Value)
 When true, translucent materials have fog computed for every pixel, which costs more but fixes artifacts due to low tessellation.
void SetbOutputTranslucentVelocity (bool Value)
 When true, translucent materials will output motion vectors and write to depth buffer in velocity pass.
bool GetBlendableOutputAlpha () const
 If this is enabled, the blendable will output alpha.
void SetBlendableOutputAlpha (bool Value)
 If this is enabled, the blendable will output alpha.
void SetbUsedWithNeuralNetworks (bool Value)
 Indicates that the material and its instances can be used with neural network engine. This will result in the shaders required to support neural network engine being compiled which will increase shader compile time and memory usage. In addition, an additional pass will run before the postprocess pass for neural network engine, which will increase the rendering cost due to buffer copy and inference.
void SetbEnableStencilTest (bool Value)
 Selectively execute 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.
bool GetbIsBlendable () const
 Allows blendability to be turned off, only used if domain is PostProcess.
void SetbIsBlendable (bool Value)
 Allows blendability to be turned off, only used if domain is PostProcess.
UPhysicalMaterial GetPhysicalMaterial () const
 Return a pointer to the physical material used by this material instance.
UPhysicalMaterial GetPhysicalMaterialFromMap (int Index) const
 Return a pointer to the physical material from mask map at given index.
UPhysicalMaterialMask GetPhysicalMaterialMask () const
 Return a pointer to the physical material mask used by this material instance.
UMaterial GetBaseMaterial ()
 Walks up parent chain and finds the base Material that this is an instance of. Just calls the virtual GetMaterial().
FMaterialParameterInfo GetParameterInfo (EMaterialParameterAssociation Association, FName ParameterName, UMaterialFunctionInterface LayerFunction) const
UMaterialInterface GetNaniteOverideMaterial () const
 Get the associated nanite override material.
void SetForceMipLevelsToBeResident (bool OverrideForceMiplevelsToBeResident, bool bForceMiplevelsToBeResidentValue, float32 ForceDuration, int CinematicTextureGroups=0, bool bFastResponse=false)
 Force the streaming system to disregard the normal logic for the specified duration and instead always load all mip-levels for all textures used by this material.
EBlendMode GetBlendMode () const
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static UClass StaticClass ()
Static Public Member Functions inherited from UMaterialInterface
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

ForwardShading
bool bForwardRenderUsePreintegratedGFForSimpleIBL
 Forward (including mobile) renderer: use preintegrated GF lut for simple IBL, but will use one more sampler.
bool bUseHQForwardReflections
 Forward renderer: enables multiple parallax-corrected reflection captures that blend together.
bool bForwardBlendsSkyLightCubemaps
 Enables blending of sky light cubemap textures. When disabled, the secondary cubemap is only visible when the blend factor is 1.
bool bUsePlanarForwardReflections
 Enables planar reflection when using the forward renderer or mobile. Enabling this setting reduces the number of samplers available to the material as one more sampler will be used for the planar reflection.
Material
EMaterialDecalResponse MaterialDecalResponse
 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).
EMaterialDomain MaterialDomain
 The domain that the material's attributes will be evaluated in. Certain pieces of material functionality are only valid in certain domains, for example vertex normal is only valid on a surface.
bool bFullyRough
 Forces the material to be completely rough. Saves a number of instructions and one sampler.
float32 OpacityMaskClipValue
 If BlendMode is BLEND_Masked, the surface is not rendered where OpacityMask < OpacityMaskClipValue. If BlendMode is BLEND_Translucent, BLEND_Additive, or BLEND_Modulate, and "Output Depth and Velocity" is enabled, the object velocity is not rendered where Opacity < OpacityMaskClipValue.
bool bNormalCurvatureToRoughness
 Reduce roughness based on screen space normal changes.
EMaterialShadingRate ShadingRate
 Select what shading rate to apply, on platforms that support variable rate shading. Non-1x1 rates will reduce the rasterization fidelity for the material; they will not super-sample the material. This can save GPU performance on materials where reduced fidelity is acceptable.
bool bUseEmissiveForDynamicAreaLighting
 If enabled, the material's emissive colour is injected into the LightPropagationVolume.
int NumCustomizedUVs
 Number of customized UV inputs to display. Unconnected customized UV inputs will just pass through the vertex UVs.
EMaterialShadingModel ShadingModel
 Determines how inputs are combined to create the material's final color.
uint16 PreshaderGap
 If non-zero, overrides r.Material.PreshaderGapInterval for this material. Workaround for a platform specific register overflow bug.
Mobile
bool bUseAlphaToCoverage
 Use alpha to coverage for masked material on mobile, make sure MSAA is enabled as well.
bool bMobileEnableHighQualityBRDF
 Use the high quality brdf functions on mobile to get better visual effects but adds GPU cost.
bool bUseLightmapDirectionality
 Use lightmap directionality and per pixel normals. If disabled, lighting from lightmaps will be flat but cheaper.
EMaterialFloatPrecisionMode FloatPrecisionMode
 How to use full (highp) precision in the pixel shader. highp is slower than the default (mediump) but can be used to work around precision-related rendering errors. Use 'Full-precision for MaterialExpressions only' if you still want to keep the precision of the halfs in .ush/.usf This setting has no effect on older mobile devices that do not support high precision.
Nanite
FMaterialOverrideNanite NaniteOverrideMaterial
 An override material which will be used instead of this one when rendering with Nanite.
FDisplacementScaling DisplacementScaling
PhysicalMaterial
UPhysicalMaterialMask PhysMaterialMask
 Physical material mask to use for this graphics material. Used for sounds, effects etc.
UPhysicalMaterial PhysMaterial
 Physical material to use for this graphics material. Used for sounds, effects etc.
PhysicalMaterialMask
UPhysicalMaterial PhysicalMaterialMap
 Physical material mask map to use for this graphics material. Used for sounds, effects etc.
PostProcessMaterial
uint8 StencilRefValue
int8 NeuralProfileId
 Set by reference object cannot be modified.
EMaterialStencilCompare StencilCompare
EBlendableLocation BlendableLocation
 Where the node is inserted in the (post processing) graph, only used if domain is PostProcess.
bool BlendableOutputAlpha
 If this is enabled, the blendable will output alpha.
int 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.
bool bIsBlendable
 Allows blendability to be turned off, only used if domain is PostProcess.
Refraction
float32 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.
ERefractionMode RefractionMethod
 Controls how the Refraction input is interpreted and how the refraction offset into scene color is computed for this material.
ERefractionCoverageMode RefractionCoverageMode
 Controls whether refraction takes into account the material surface coverage, or not.
Translucency
EMaterialTranslucencyPass TranslucencyPass
 Specifies the separate pass in which to render translucency. This can be used to avoid artifacts caused by certain post processing effects.
float32 TranslucencyDirectionalLightingIntensity
 Useful for artificially increasing the influence of the normal on the lighting result for translucency. A value larger than 1 increases the influence of the normal, a value smaller than 1 makes the lighting more ambient.
ETranslucencyLightingMode TranslucencyLightingMode
 Sets the lighting mode that will be used on this material if it is translucent.
TranslucencySelfShadowing
FLinearColor TranslucentMultipleScatteringExtinction
 Colored extinction factor used to approximate multiple scattering in dense volumes. This is only used when the object is casting a volumetric translucent shadow.
float32 TranslucentSelfShadowSecondOpacity
 Controls the strength of the second self shadow gradient.
float32 TranslucentSelfShadowDensityScale
 Scale used to make translucent self-shadowing more or less opaque than the material's shadow on other objects. This is only used when the object is casting a volumetric translucent shadow.
float32 TranslucentShadowStartOffset
 Local space distance to bias the translucent shadow. Positive values move the shadow away from the light.
float32 TranslucentBackscatteringExponent
 Controls how diffuse the material's backscattering is when using the MSM_Subsurface shading model. 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.
float32 TranslucentShadowDensityScale
 Scale used to make translucent shadows more or less opaque than the material's actual opacity.
float32 TranslucentSelfShadowSecondDensityScale
 Used to make a second self shadow gradient, to add interesting shading in the shadow of the first.
Usage
bool bUsedWithMorphTargets
 Indicates that the material and its instances can be used with morph targets This will result in the shaders required to support morph targets being compiled which will increase shader compile time and memory usage.
bool bUsedWithSplineMeshes
 Indicates that the material and its instances can be used with spline meshes This will result in the shaders required to support spline meshes being compiled which will increase shader compile time and memory usage.
bool bUsedWithNiagaraRibbons
bool bUsedWithParticleSprites
 Indicates that the material and its instances can be used with particle sprites This will result in the shaders required to support particle sprites being compiled which will increase shader compile time and memory usage.
bool bUsedWithNiagaraMeshParticles
bool bUsedWithMeshParticles
 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.
bool bUsedWithEditorCompositing
 Indicates that the material and its instances can be used with editor compositing This will result in the shaders required to support editor compositing being compiled which will increase shader compile time and memory usage.
bool bUsedWithBeamTrails
 Indicates that the material and its instances can be used with beam trails This will result in the shaders required to support beam trails being compiled which will increase shader compile time and memory usage.
bool bUsedWithVirtualHeightfieldMesh
 Indicates that the material and its instances can be used with Virtual Heightfield Mesh. This will result in the shaders required to support Virtual Heightfield Mesh geometries being compiled which will increase shader compile time and memory usage.
bool bUsedWithNanite
 Indicates that the material and its instances can be used with Nanite meshes. This will result in the shaders required to support Nanite geometries being compiled which will increase shader compile time and memory usage.
bool bUsedWithVolumetricCloud
 Indicates that the material and its instances with volumetric cloud. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Volumetric Cloud rendering being compiled which will increase shader compile time and memory usage.
bool bUsedWithHeterogeneousVolumes
 Indicates that the material and its instances with heterogeneous volumes. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Heterogeneous Volumes rendering being compiled which will increase shader compile time and memory usage.
bool bAutomaticallySetUsageInEditor
 Whether to automatically set usage flags based on what the material is applied to in the editor. It can be useful to disable this on a base material with many instances, where adding another usage flag accidentally (eg bUsedWithSkeletalMeshes) can add a lot of shader permutations.
bool bUsedWithGeometryCache
bool bUsedWithHairStrands
 Indicates that the material and its instances can be use with hair strands This will result in the shaders required to support hair strands geometries being compiled which will increase shader compile time and memory usage.
bool bUsedWithLidarPointCloud
 Indicates that the material and its instances can be use with LiDAR Point Clouds This will result in the shaders required to support LiDAR Point Cloud geometries being compiled which will increase shader compile time and memory usage.
bool bUsedWithStaticLighting
 Indicates that the material and its instances can be used with static lighting This will result in the shaders required to support static lighting being compiled which will increase shader compile time and memory usage.
bool bUsedWithNiagaraSprites
 Indicates that the material and its instances can be used with Niagara sprites (meshes and ribbons, respectively) This will result in the shaders required to support Niagara sprites being compiled which will increase shader compile time and memory usage.
bool bUsedWithWater
 Indicates that the material and its instances can be use with water This will result in the shaders required to support water meshes being compiled which will increase shader compile time and memory usage.
bool bUsedWithClothing
 Indicates that the material and its instances can be used with clothing This will result in the shaders required to support clothing being compiled which will increase shader compile time and memory usage.
bool bUsedWithInstancedStaticMeshes
 Indicates that the material and its instances can be used with instanced static meshes This will result in the shaders required to support instanced static meshes being compiled which will increase shader compile time and memory usage.
bool bUsedWithGeometryCollections
 Indicates that the material and its instances can be use with geometry collections This will result in the shaders required to support geometry collections being compiled which will increase shader compile time and memory usage.
bool bUsedWithSkeletalMesh
 Indicates that the material and its instances can be used with skeletal meshes. This will result in the shaders required to support skeletal meshes being compiled which will increase shader compile time and memory usage.
WorldPositionOffset
float32 MaxWorldPositionOffsetDisplacement
 Specifies the max world position offset of the material. Use this value to resolve issues with culling and self-occlusion caused by World Position Offset, and/or to restrict how much offset is permitted (i.e. values are clamped on each axis). NOTE: A value of 0.0 effectively means "no maximum", and will not clamp the offsets, however it will also not extend culling bounds.
bool bAlwaysEvaluateWorldPositionOffset
 Forces World Position Offset to always be evaluated for this material, even if the primitive it's applied to has disabled it via "Evaluate World Position Offset" or "World Position Offset Disable Distance".
Public Attributes inherited from UMaterialInterface
UAssetImportData AssetImportData
 Importing data and options used for this material.
FLightmassMaterialInterfaceSettings LightmassSettings
 The Lightmass settings for this object.
USubsurfaceProfile SubsurfaceProfile
 SubsurfaceProfile, for Screen Space Subsurface Scattering..
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 Array of user data stored with the asset.
UNeuralProfile NeuralProfile
 Neural network profile. For internal usage, not editable/visible.
FSoftObjectPath PreviewMesh
 The mesh used by the material editor to preview the material.
UThumbnailInfo ThumbnailInfo
 Information for thumbnail rendering.
const UPhysicalMaterialMask PhysicalMaterialMask
 Return a pointer to the physical material mask used by this material instance.
const UPhysicalMaterial PhysicalMaterial
 Return a pointer to the physical material used by this material instance.
const UMaterialInterface NaniteOverideMaterial
 Get the associated nanite override material.
const EBlendMode BlendMode
const UMaterial BaseMaterial
 Walks up parent chain and finds the base Material that this is an instance of. Just calls the virtual GetMaterial().
Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

Detailed Description

A Material is an asset which can be applied to a mesh to control the visual look of the scene. 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.

Member Function Documentation

◆ GetbAutomaticallySetUsageInEditor()

bool GetbAutomaticallySetUsageInEditor ( ) const

Whether to automatically set usage flags based on what the material is applied to in the editor. It can be useful to disable this on a base material with many instances, where adding another usage flag accidentally (eg bUsedWithSkeletalMeshes) can add a lot of shader permutations.

◆ GetbForwardBlendsSkyLightCubemaps()

bool GetbForwardBlendsSkyLightCubemaps ( ) const

Enables blending of sky light cubemap textures. When disabled, the secondary cubemap is only visible when the blend factor is 1.

◆ GetbForwardRenderUsePreintegratedGFForSimpleIBL()

bool GetbForwardRenderUsePreintegratedGFForSimpleIBL ( ) const

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

◆ GetbFullyRough()

bool GetbFullyRough ( ) const

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

◆ GetbIsBlendable()

bool GetbIsBlendable ( ) const

Allows blendability to be turned off, only used if domain is PostProcess.

◆ GetBlendableOutputAlpha()

bool GetBlendableOutputAlpha ( ) const

If this is enabled, the blendable will output alpha.

◆ GetbMobileEnableHighQualityBRDF()

bool GetbMobileEnableHighQualityBRDF ( ) const

Use the high quality brdf functions on mobile to get better visual effects but adds GPU cost.

◆ GetbNormalCurvatureToRoughness()

bool GetbNormalCurvatureToRoughness ( ) const

Reduce roughness based on screen space normal changes.

◆ GetbUseAlphaToCoverage()

bool GetbUseAlphaToCoverage ( ) const

Use alpha to coverage for masked material on mobile, make sure MSAA is enabled as well.

◆ GetbUsedWithBeamTrails()

bool GetbUsedWithBeamTrails ( ) const

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

◆ GetbUsedWithClothing()

bool GetbUsedWithClothing ( ) const

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

◆ GetbUsedWithEditorCompositing()

bool GetbUsedWithEditorCompositing ( ) const

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

◆ GetbUsedWithGeometryCache()

bool GetbUsedWithGeometryCache ( ) const

◆ GetbUsedWithGeometryCollections()

bool GetbUsedWithGeometryCollections ( ) const

Indicates that the material and its instances can be use with geometry collections This will result in the shaders required to support geometry collections being compiled which will increase shader compile time and memory usage.

◆ GetbUsedWithHairStrands()

bool GetbUsedWithHairStrands ( ) const

Indicates that the material and its instances can be use with hair strands This will result in the shaders required to support hair strands geometries being compiled which will increase shader compile time and memory usage.

◆ GetbUsedWithHeterogeneousVolumes()

bool GetbUsedWithHeterogeneousVolumes ( ) const

Indicates that the material and its instances with heterogeneous volumes. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Heterogeneous Volumes rendering being compiled which will increase shader compile time and memory usage.

◆ GetbUsedWithInstancedStaticMeshes()

bool GetbUsedWithInstancedStaticMeshes ( ) const

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

◆ GetbUsedWithLidarPointCloud()

bool GetbUsedWithLidarPointCloud ( ) const

Indicates that the material and its instances can be use with LiDAR Point Clouds This will result in the shaders required to support LiDAR Point Cloud geometries being compiled which will increase shader compile time and memory usage.

◆ GetbUsedWithMeshParticles()

bool GetbUsedWithMeshParticles ( ) const

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.

◆ GetbUsedWithMorphTargets()

bool GetbUsedWithMorphTargets ( ) const

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

◆ GetbUsedWithNanite()

bool GetbUsedWithNanite ( ) const

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

◆ GetbUsedWithNiagaraMeshParticles()

bool GetbUsedWithNiagaraMeshParticles ( ) const

◆ GetbUsedWithNiagaraRibbons()

bool GetbUsedWithNiagaraRibbons ( ) const

◆ GetbUsedWithNiagaraSprites()

bool GetbUsedWithNiagaraSprites ( ) const

Indicates that the material and its instances can be used with Niagara sprites (meshes and ribbons, respectively) This will result in the shaders required to support Niagara sprites being compiled which will increase shader compile time and memory usage.

◆ GetbUsedWithParticleSprites()

bool GetbUsedWithParticleSprites ( ) const

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

◆ GetbUsedWithSkeletalMesh()

bool GetbUsedWithSkeletalMesh ( ) const

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

◆ GetbUsedWithSplineMeshes()

bool GetbUsedWithSplineMeshes ( ) const

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

◆ GetbUsedWithStaticLighting()

bool GetbUsedWithStaticLighting ( ) const

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

◆ GetbUsedWithVirtualHeightfieldMesh()

bool GetbUsedWithVirtualHeightfieldMesh ( ) const

Indicates that the material and its instances can be used with Virtual Heightfield Mesh. This will result in the shaders required to support Virtual Heightfield Mesh geometries being compiled which will increase shader compile time and memory usage.

◆ GetbUsedWithVolumetricCloud()

bool GetbUsedWithVolumetricCloud ( ) const

Indicates that the material and its instances with volumetric cloud. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Volumetric Cloud rendering being compiled which will increase shader compile time and memory usage.

◆ GetbUsedWithWater()

bool GetbUsedWithWater ( ) const

Indicates that the material and its instances can be use with water This will result in the shaders required to support water meshes being compiled which will increase shader compile time and memory usage.

◆ GetbUseEmissiveForDynamicAreaLighting()

bool GetbUseEmissiveForDynamicAreaLighting ( ) const

If enabled, the material's emissive colour is injected into the LightPropagationVolume.

◆ GetbUseHQForwardReflections()

bool GetbUseHQForwardReflections ( ) const

Forward renderer: enables multiple parallax-corrected reflection captures that blend together.

◆ GetbUseLightmapDirectionality()

bool GetbUseLightmapDirectionality ( ) const

Use lightmap directionality and per pixel normals. If disabled, lighting from lightmaps will be flat but cheaper.

◆ GetbUsePlanarForwardReflections()

bool GetbUsePlanarForwardReflections ( ) const

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

◆ SetAllowTranslucentCustomDepthWrites()

void SetAllowTranslucentCustomDepthWrites ( bool Value)

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

◆ SetbAllowFrontLayerTranslucency()

void SetbAllowFrontLayerTranslucency ( bool Value)

Allows a translucent material to be used with Front Layer Translucency by compiling additional shaders. Useful for controlling what should be included in Front Layer Translucency.

◆ SetbAllowNegativeEmissiveColor()

void SetbAllowNegativeEmissiveColor ( bool Value)

Whether the material should allow outputting negative emissive color values. Only allowed on unlit materials.

◆ SetbAllowVariableRateShading()

void SetbAllowVariableRateShading ( bool Value)

Allows the use of variable rate shading when evaluating this material. This will only apply to the base/translucency pass.

◆ SetbApplyCloudFogging()

void SetbApplyCloudFogging ( bool Value)

When true, translucent materials receive cloud contribution as part of the fog evaluation, per vertex or per pixel according to the other selected options. This is a rough approximation but can help in some cases. Defaults to false. Fog is applied on clouds, so Apply Fogging must be true to use this feature.

◆ SetbAutomaticallySetUsageInEditor()

void SetbAutomaticallySetUsageInEditor ( bool Value)

Whether to automatically set usage flags based on what the material is applied to in the editor. It can be useful to disable this on a base material with many instances, where adding another usage flag accidentally (eg bUsedWithSkeletalMeshes) can add a lot of shader permutations.

◆ SetbCastDynamicShadowAsMasked()

void SetbCastDynamicShadowAsMasked ( bool Value)

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

◆ SetbCastRayTracedShadows()

void SetbCastRayTracedShadows ( bool Value)

when true, the material casts ray tracing shadows.

◆ SetbComputeFogPerPixel()

void SetbComputeFogPerPixel ( bool Value)

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

◆ SetbContactShadows()

void SetbContactShadows ( bool Value)

Contact shadows on translucency.

◆ SetbDisableDepthTest()

void SetbDisableDepthTest ( bool Value)

Whether to draw on top of opaque pixels even if behind them. This only has meaning for translucency.

◆ SetbEnableExecWire()

void SetbEnableExecWire ( bool Value)

◆ SetbEnableMobileSeparateTranslucency()

void SetbEnableMobileSeparateTranslucency ( bool Value)

Indicates that the translucent material should not be affected by bloom or DOF. (Note: Depth testing is not available).

◆ SetbEnableNewHLSLGenerator()

void SetbEnableNewHLSLGenerator ( bool Value)

◆ SetbEnableResponsiveAA()

void SetbEnableResponsiveAA ( bool Value)

Indicates that the material should be rendered using responsive anti-aliasing. Improves sharpness of small moving particles such as sparks. Only use for small moving features because it will cause aliasing of the background.

◆ SetbEnableStencilTest()

void SetbEnableStencilTest ( bool Value)

Selectively execute 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.

◆ SetbEnableTessellation()

void SetbEnableTessellation ( bool Value)

Whether tessellation is enabled on the material. NOTE: Required for displacement to work.

◆ SetbForwardBlendsSkyLightCubemaps()

void SetbForwardBlendsSkyLightCubemaps ( bool Value)

Enables blending of sky light cubemap textures. When disabled, the secondary cubemap is only visible when the blend factor is 1.

◆ SetbForwardRenderUsePreintegratedGFForSimpleIBL()

void SetbForwardRenderUsePreintegratedGFForSimpleIBL ( bool Value)

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

◆ SetbFullyRough()

void SetbFullyRough ( bool Value)

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

◆ SetbGenerateSphericalParticleNormals()

void SetbGenerateSphericalParticleNormals ( bool Value)

Whether to generate spherical normals for particles that use this material.

◆ SetbHasPixelAnimation()

void SetbHasPixelAnimation ( bool Value)

Whether the opaque material has any pixel animations happening, that isn't included in the geometric velocities. This allows to disable renderer's heuristics that assumes animation is fully described with motion vector, such as TSR's anti-flickering heuristic.

◆ SetbIsBlendable()

void SetbIsBlendable ( bool Value)

Allows blendability to be turned off, only used if domain is PostProcess.

◆ SetbIsSky()

void SetbIsSky ( bool Value)

Unlit and Opaque materials can be used as sky material on a sky dome mesh. When IsSky is true, these meshes will not receive any contribution from the aerial perspective. Height and Volumetric fog effects will still be applied.

◆ SetbIsThinSurface()

void SetbIsThinSurface ( bool Value)

Indicates that the material should be rendered as a thin surface (i.e., without inner volume). Only used by Substrate materials. Enabling ThinSurface will disable subsurface profiles.

◆ SetBlendableOutputAlpha()

void SetBlendableOutputAlpha ( bool Value)

If this is enabled, the blendable will output alpha.

◆ SetBlendMode()

void SetBlendMode ( const EBlendMode & Value)

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

◆ SetbMobileEnableHighQualityBRDF()

void SetbMobileEnableHighQualityBRDF ( bool Value)

Use the high quality brdf functions on mobile to get better visual effects but adds GPU cost.

◆ SetbNormalCurvatureToRoughness()

void SetbNormalCurvatureToRoughness ( bool Value)

Reduce roughness based on screen space normal changes.

◆ SetbOutputTranslucentVelocity()

void SetbOutputTranslucentVelocity ( bool Value)

When true, translucent materials will output motion vectors and write to depth buffer in velocity pass.

◆ SetbScreenSpaceReflections()

void SetbScreenSpaceReflections ( bool Value)

SSR on translucency.

◆ SetbTangentSpaceNormal()

void SetbTangentSpaceNormal ( bool Value)

Whether the material takes a tangent space normal or a world space normal as input. (TangentSpace requires extra instructions but is often more convenient).

◆ SetbUseAlphaToCoverage()

void SetbUseAlphaToCoverage ( bool Value)

Use alpha to coverage for masked material on mobile, make sure MSAA is enabled as well.

◆ SetbUsedWithBeamTrails()

void SetbUsedWithBeamTrails ( bool Value)

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

◆ SetbUsedWithClothing()

void SetbUsedWithClothing ( bool Value)

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

◆ SetbUsedWithEditorCompositing()

void SetbUsedWithEditorCompositing ( bool Value)

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

◆ SetbUsedWithGeometryCache()

void SetbUsedWithGeometryCache ( bool Value)

◆ SetbUsedWithGeometryCollections()

void SetbUsedWithGeometryCollections ( bool Value)

Indicates that the material and its instances can be use with geometry collections This will result in the shaders required to support geometry collections being compiled which will increase shader compile time and memory usage.

◆ SetbUsedWithHairStrands()

void SetbUsedWithHairStrands ( bool Value)

Indicates that the material and its instances can be use with hair strands This will result in the shaders required to support hair strands geometries being compiled which will increase shader compile time and memory usage.

◆ SetbUsedWithHeterogeneousVolumes()

void SetbUsedWithHeterogeneousVolumes ( bool Value)

Indicates that the material and its instances with heterogeneous volumes. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Heterogeneous Volumes rendering being compiled which will increase shader compile time and memory usage.

◆ SetbUsedWithInstancedStaticMeshes()

void SetbUsedWithInstancedStaticMeshes ( bool Value)

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

◆ SetbUsedWithLidarPointCloud()

void SetbUsedWithLidarPointCloud ( bool Value)

Indicates that the material and its instances can be use with LiDAR Point Clouds This will result in the shaders required to support LiDAR Point Cloud geometries being compiled which will increase shader compile time and memory usage.

◆ SetbUsedWithMeshParticles()

void SetbUsedWithMeshParticles ( bool Value)

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.

◆ SetbUsedWithMorphTargets()

void SetbUsedWithMorphTargets ( bool Value)

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

◆ SetbUsedWithNanite()

void SetbUsedWithNanite ( bool Value)

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

◆ SetbUsedWithNeuralNetworks()

void SetbUsedWithNeuralNetworks ( bool Value)

Indicates that the material and its instances can be used with neural network engine. This will result in the shaders required to support neural network engine being compiled which will increase shader compile time and memory usage. In addition, an additional pass will run before the postprocess pass for neural network engine, which will increase the rendering cost due to buffer copy and inference.

◆ SetbUsedWithNiagaraMeshParticles()

void SetbUsedWithNiagaraMeshParticles ( bool Value)

◆ SetbUsedWithNiagaraRibbons()

void SetbUsedWithNiagaraRibbons ( bool Value)

◆ SetbUsedWithNiagaraSprites()

void SetbUsedWithNiagaraSprites ( bool Value)

Indicates that the material and its instances can be used with Niagara sprites (meshes and ribbons, respectively) This will result in the shaders required to support Niagara sprites being compiled which will increase shader compile time and memory usage.

◆ SetbUsedWithParticleSprites()

void SetbUsedWithParticleSprites ( bool Value)

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

◆ SetbUsedWithSkeletalMesh()

void SetbUsedWithSkeletalMesh ( bool Value)

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

◆ SetbUsedWithSplineMeshes()

void SetbUsedWithSplineMeshes ( bool Value)

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

◆ SetbUsedWithStaticLighting()

void SetbUsedWithStaticLighting ( bool Value)

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

◆ SetbUsedWithVirtualHeightfieldMesh()

void SetbUsedWithVirtualHeightfieldMesh ( bool Value)

Indicates that the material and its instances can be used with Virtual Heightfield Mesh. This will result in the shaders required to support Virtual Heightfield Mesh geometries being compiled which will increase shader compile time and memory usage.

◆ SetbUsedWithVolumetricCloud()

void SetbUsedWithVolumetricCloud ( bool Value)

Indicates that the material and its instances with volumetric cloud. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Volumetric Cloud rendering being compiled which will increase shader compile time and memory usage.

◆ SetbUsedWithWater()

void SetbUsedWithWater ( bool Value)

Indicates that the material and its instances can be use with water This will result in the shaders required to support water meshes being compiled which will increase shader compile time and memory usage.

◆ SetbUseEmissiveForDynamicAreaLighting()

void SetbUseEmissiveForDynamicAreaLighting ( bool Value)

If enabled, the material's emissive colour is injected into the LightPropagationVolume.

◆ SetbUseHQForwardReflections()

void SetbUseHQForwardReflections ( bool Value)

Forward renderer: enables multiple parallax-corrected reflection captures that blend together.

◆ SetbUseLightmapDirectionality()

void SetbUseLightmapDirectionality ( bool Value)

Use lightmap directionality and per pixel normals. If disabled, lighting from lightmaps will be flat but cheaper.

◆ SetbUseMaterialAttributes()

void SetbUseMaterialAttributes ( bool Value)

when true, the material attributes pin is used instead of the regular pins.

◆ SetbUsePlanarForwardReflections()

void SetbUsePlanarForwardReflections ( bool Value)

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

◆ SetbUseSystemDefaultForShadow()

void SetbUseSystemDefaultForShadow ( bool Value)

THQNBCN Start BFG_JConradie : Shadow Material Optimization.

◆ SetbUseTranslucencyVertexFog()

void SetbUseTranslucencyVertexFog ( bool Value)

When true, translucent materials are fogged. Defaults to true.

◆ SetbWriteOnlyAlpha()

void SetbWriteOnlyAlpha ( bool Value)

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

◆ SetDitheredLODTransition()

void SetDitheredLODTransition ( bool Value)

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

◆ SetDitherOpacityMask()

void SetDitherOpacityMask ( bool Value)

Dither opacity mask. When combined with Temporal AA this can be used as a form of limited translucency which supports all lighting features.

◆ SetTwoSided()

void SetTwoSided ( bool Value)

Indicates that the material should be rendered without backface culling and the normal should be flipped for backfaces.

◆ SetWireframe()

void SetWireframe ( bool Value)

Enables a wireframe view of the mesh the material is applied to.

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ bAlwaysEvaluateWorldPositionOffset

bool bAlwaysEvaluateWorldPositionOffset

Forces World Position Offset to always be evaluated for this material, even if the primitive it's applied to has disabled it via "Evaluate World Position Offset" or "World Position Offset Disable Distance".

◆ bAutomaticallySetUsageInEditor

bool bAutomaticallySetUsageInEditor

Whether to automatically set usage flags based on what the material is applied to in the editor. It can be useful to disable this on a base material with many instances, where adding another usage flag accidentally (eg bUsedWithSkeletalMeshes) can add a lot of shader permutations.

◆ bForwardBlendsSkyLightCubemaps

bool bForwardBlendsSkyLightCubemaps

Enables blending of sky light cubemap textures. When disabled, the secondary cubemap is only visible when the blend factor is 1.

◆ bForwardRenderUsePreintegratedGFForSimpleIBL

bool bForwardRenderUsePreintegratedGFForSimpleIBL

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

◆ bFullyRough

bool bFullyRough

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

◆ bIsBlendable

bool bIsBlendable

Allows blendability to be turned off, only used if domain is PostProcess.

◆ BlendableLocation

EBlendableLocation BlendableLocation

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

◆ BlendableOutputAlpha

bool BlendableOutputAlpha

If this is enabled, the blendable will output alpha.

◆ BlendablePriority

int 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.

◆ bMobileEnableHighQualityBRDF

bool bMobileEnableHighQualityBRDF

Use the high quality brdf functions on mobile to get better visual effects but adds GPU cost.

◆ bNormalCurvatureToRoughness

bool bNormalCurvatureToRoughness

Reduce roughness based on screen space normal changes.

◆ bUseAlphaToCoverage

bool bUseAlphaToCoverage

Use alpha to coverage for masked material on mobile, make sure MSAA is enabled as well.

◆ bUsedWithBeamTrails

bool bUsedWithBeamTrails

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

◆ bUsedWithClothing

bool bUsedWithClothing

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

◆ bUsedWithEditorCompositing

bool bUsedWithEditorCompositing

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

◆ bUsedWithGeometryCache

bool bUsedWithGeometryCache

◆ bUsedWithGeometryCollections

bool bUsedWithGeometryCollections

Indicates that the material and its instances can be use with geometry collections This will result in the shaders required to support geometry collections being compiled which will increase shader compile time and memory usage.

◆ bUsedWithHairStrands

bool bUsedWithHairStrands

Indicates that the material and its instances can be use with hair strands This will result in the shaders required to support hair strands geometries being compiled which will increase shader compile time and memory usage.

◆ bUsedWithHeterogeneousVolumes

bool bUsedWithHeterogeneousVolumes

Indicates that the material and its instances with heterogeneous volumes. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Heterogeneous Volumes rendering being compiled which will increase shader compile time and memory usage.

◆ bUsedWithInstancedStaticMeshes

bool bUsedWithInstancedStaticMeshes

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

◆ bUsedWithLidarPointCloud

bool bUsedWithLidarPointCloud

Indicates that the material and its instances can be use with LiDAR Point Clouds This will result in the shaders required to support LiDAR Point Cloud geometries being compiled which will increase shader compile time and memory usage.

◆ bUsedWithMeshParticles

bool bUsedWithMeshParticles

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.

◆ bUsedWithMorphTargets

bool bUsedWithMorphTargets

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

◆ bUsedWithNanite

bool bUsedWithNanite

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

◆ bUsedWithNiagaraMeshParticles

bool bUsedWithNiagaraMeshParticles

◆ bUsedWithNiagaraRibbons

bool bUsedWithNiagaraRibbons

◆ bUsedWithNiagaraSprites

bool bUsedWithNiagaraSprites

Indicates that the material and its instances can be used with Niagara sprites (meshes and ribbons, respectively) This will result in the shaders required to support Niagara sprites being compiled which will increase shader compile time and memory usage.

◆ bUsedWithParticleSprites

bool bUsedWithParticleSprites

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

◆ bUsedWithSkeletalMesh

bool bUsedWithSkeletalMesh

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

◆ bUsedWithSplineMeshes

bool bUsedWithSplineMeshes

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

◆ bUsedWithStaticLighting

bool bUsedWithStaticLighting

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

◆ bUsedWithVirtualHeightfieldMesh

bool bUsedWithVirtualHeightfieldMesh

Indicates that the material and its instances can be used with Virtual Heightfield Mesh. This will result in the shaders required to support Virtual Heightfield Mesh geometries being compiled which will increase shader compile time and memory usage.

◆ bUsedWithVolumetricCloud

bool bUsedWithVolumetricCloud

Indicates that the material and its instances with volumetric cloud. Without that flag, it can only be used on volumetric fog. This will result in the shaders required to support Volumetric Cloud rendering being compiled which will increase shader compile time and memory usage.

◆ bUsedWithWater

bool bUsedWithWater

Indicates that the material and its instances can be use with water This will result in the shaders required to support water meshes being compiled which will increase shader compile time and memory usage.

◆ bUseEmissiveForDynamicAreaLighting

bool bUseEmissiveForDynamicAreaLighting

If enabled, the material's emissive colour is injected into the LightPropagationVolume.

◆ bUseHQForwardReflections

bool bUseHQForwardReflections

Forward renderer: enables multiple parallax-corrected reflection captures that blend together.

◆ bUseLightmapDirectionality

bool bUseLightmapDirectionality

Use lightmap directionality and per pixel normals. If disabled, lighting from lightmaps will be flat but cheaper.

◆ bUsePlanarForwardReflections

bool bUsePlanarForwardReflections

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

◆ DisplacementScaling

FDisplacementScaling DisplacementScaling

◆ FloatPrecisionMode

EMaterialFloatPrecisionMode FloatPrecisionMode

How to use full (highp) precision in the pixel shader. highp is slower than the default (mediump) but can be used to work around precision-related rendering errors. Use 'Full-precision for MaterialExpressions only' if you still want to keep the precision of the halfs in .ush/.usf This setting has no effect on older mobile devices that do not support high precision.

◆ MaterialDecalResponse

EMaterialDecalResponse MaterialDecalResponse

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).

◆ MaterialDomain

EMaterialDomain MaterialDomain

The domain that the material's attributes will be evaluated in. Certain pieces of material functionality are only valid in certain domains, for example vertex normal is only valid on a surface.

◆ MaxWorldPositionOffsetDisplacement

float32 MaxWorldPositionOffsetDisplacement

Specifies the max world position offset of the material. Use this value to resolve issues with culling and self-occlusion caused by World Position Offset, and/or to restrict how much offset is permitted (i.e. values are clamped on each axis). NOTE: A value of 0.0 effectively means "no maximum", and will not clamp the offsets, however it will also not extend culling bounds.

◆ NaniteOverrideMaterial

FMaterialOverrideNanite NaniteOverrideMaterial

An override material which will be used instead of this one when rendering with Nanite.

◆ NeuralProfileId

int8 NeuralProfileId

Set by reference object cannot be modified.

◆ NumCustomizedUVs

int NumCustomizedUVs

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

◆ OpacityMaskClipValue

float32 OpacityMaskClipValue

If BlendMode is BLEND_Masked, the surface is not rendered where OpacityMask < OpacityMaskClipValue. If BlendMode is BLEND_Translucent, BLEND_Additive, or BLEND_Modulate, and "Output Depth and Velocity" is enabled, the object velocity is not rendered where Opacity < OpacityMaskClipValue.

◆ PhysicalMaterialMap

UPhysicalMaterial PhysicalMaterialMap

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

◆ PhysMaterial

UPhysicalMaterial PhysMaterial

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

◆ PhysMaterialMask

UPhysicalMaterialMask PhysMaterialMask

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

◆ PreshaderGap

uint16 PreshaderGap

If non-zero, overrides r.Material.PreshaderGapInterval for this material. Workaround for a platform specific register overflow bug.

◆ RefractionCoverageMode

ERefractionCoverageMode RefractionCoverageMode

Controls whether refraction takes into account the material surface coverage, or not.

◆ RefractionDepthBias

float32 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.

◆ RefractionMethod

ERefractionMode RefractionMethod

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

◆ ShadingModel

EMaterialShadingModel ShadingModel

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

◆ ShadingRate

EMaterialShadingRate ShadingRate

Select what shading rate to apply, on platforms that support variable rate shading. Non-1x1 rates will reduce the rasterization fidelity for the material; they will not super-sample the material. This can save GPU performance on materials where reduced fidelity is acceptable.

◆ StencilCompare

EMaterialStencilCompare StencilCompare

◆ StencilRefValue

uint8 StencilRefValue

◆ TranslucencyDirectionalLightingIntensity

float32 TranslucencyDirectionalLightingIntensity

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

◆ TranslucencyLightingMode

ETranslucencyLightingMode TranslucencyLightingMode

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

◆ TranslucencyPass

EMaterialTranslucencyPass TranslucencyPass

Specifies the separate pass in which to render translucency. This can be used to avoid artifacts caused by certain post processing effects.

◆ TranslucentBackscatteringExponent

float32 TranslucentBackscatteringExponent

Controls how diffuse the material's backscattering is when using the MSM_Subsurface shading model. 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.

◆ TranslucentMultipleScatteringExtinction

FLinearColor TranslucentMultipleScatteringExtinction

Colored extinction factor used to approximate multiple scattering in dense volumes. This is only used when the object is casting a volumetric translucent shadow.

◆ TranslucentSelfShadowDensityScale

float32 TranslucentSelfShadowDensityScale

Scale used to make translucent self-shadowing more or less opaque than the material's shadow on other objects. This is only used when the object is casting a volumetric translucent shadow.

◆ TranslucentSelfShadowSecondDensityScale

float32 TranslucentSelfShadowSecondDensityScale

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

◆ TranslucentSelfShadowSecondOpacity

float32 TranslucentSelfShadowSecondOpacity

Controls the strength of the second self shadow gradient.

◆ TranslucentShadowDensityScale

float32 TranslucentShadowDensityScale

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

◆ TranslucentShadowStartOffset

float32 TranslucentShadowStartOffset

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