UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialInterface.h File Reference

Go to the source code of this file.

Classes

struct  FLightmassMaterialInterfaceSettings
 
struct  FMaterialTextureInfo
 
struct  FMaterialInheritanceChain
 
struct  FMaterialAnalysisResult
 
struct  FTextureSamplingInfo
 
struct  FMaterialCachedTexturesSamplingInfo
 
class  UMaterialInterfaceEditorOnlyData
 
class  UMaterialInterface
 

Namespaces

namespace  UE
 
namespace  UE::MaterialInterface
 
namespace  UE::MaterialInterface::Private
 

Typedefs

typedef TArray< FMaterialResource * > FMaterialResourceDeferredDeletionArray
 
using TMicRecursionGuard = TMaterialRecursionGuard< class UMaterialInterface >
 

Enumerations

enum  EMaterialUsage : int {
  MATUSAGE_SkeletalMesh , MATUSAGE_ParticleSprites , MATUSAGE_BeamTrails , MATUSAGE_MeshParticles ,
  MATUSAGE_StaticLighting , MATUSAGE_MorphTargets , MATUSAGE_SplineMesh , MATUSAGE_InstancedStaticMeshes ,
  MATUSAGE_GeometryCollections , MATUSAGE_Clothing , MATUSAGE_NiagaraSprites , MATUSAGE_NiagaraRibbons ,
  MATUSAGE_NiagaraMeshParticles , MATUSAGE_GeometryCache , MATUSAGE_Water , MATUSAGE_HairStrands ,
  MATUSAGE_LidarPointCloud , MATUSAGE_VirtualHeightfieldMesh , MATUSAGE_Nanite , MATUSAGE_Voxels ,
  MATUSAGE_VolumetricCloud , MATUSAGE_HeterogeneousVolumes , MATUSAGE_StaticMesh , MATUSAGE_MAX
}
 

Functions

ENGINE_API EMaterialQualityLevel::Type GetCurrentMaterialQualityLevelChecked ()
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FOnBaseMaterialIsSet, UMaterialInterface *)
 
void ProcessSerializedInlineShaderMaps (UMaterialInterface *Owner, TArray< FMaterialResource > &LoadedResources, TArray< FMaterialResource * > &OutMaterialResourcesLoaded)
 
FMaterialResourceFindMaterialResource (const TArray< FMaterialResource * > &MaterialResources, ERHIFeatureLevel::Type InFeatureLevel, EMaterialQualityLevel::Type QualityLevel, bool bAllowDefaultQuality)
 
FMaterialResourceFindMaterialResource (TArray< FMaterialResource * > &MaterialResources, ERHIFeatureLevel::Type InFeatureLevel, EMaterialQualityLevel::Type QualityLevel, bool bAllowDefaultQuality)
 
FMaterialResourceFindMaterialResource (const TArray< FMaterialResource * > &MaterialResources, EShaderPlatform InShaderPlatform, EMaterialQualityLevel::Type QualityLevel, bool bAllowDefaultQuality)
 
FMaterialResourceFindMaterialResource (TArray< FMaterialResource * > &MaterialResources, EShaderPlatform InShaderPlatform, EMaterialQualityLevel::Type QualityLevel, bool bAllowDefaultQuality)
 
ENGINE_API FMaterialResourceFindOrCreateMaterialResource (TArray< FMaterialResource * > &MaterialResources, UMaterial *OwnerMaterial, UMaterialInstance *OwnerMaterialInstance, ERHIFeatureLevel::Type InFeatureLevel, EMaterialQualityLevel::Type QualityLevel)
 
ENGINE_API FMaterialResourceFindOrCreateMaterialResource (TArray< FMaterialResource * > &MaterialResources, UMaterial *OwnerMaterial, UMaterialInstance *OwnerMaterialInstance, EShaderPlatform InShaderPlatform, EMaterialQualityLevel::Type QualityLevel)
 

Typedef Documentation

◆ FMaterialResourceDeferredDeletionArray

◆ TMicRecursionGuard

Enumeration Type Documentation

◆ EMaterialUsage

Enumerator
MATUSAGE_SkeletalMesh 
MATUSAGE_ParticleSprites 
MATUSAGE_BeamTrails 
MATUSAGE_MeshParticles 
MATUSAGE_StaticLighting 
MATUSAGE_MorphTargets 
MATUSAGE_SplineMesh 
MATUSAGE_InstancedStaticMeshes 
MATUSAGE_GeometryCollections 
MATUSAGE_Clothing 
MATUSAGE_NiagaraSprites 
MATUSAGE_NiagaraRibbons 
MATUSAGE_NiagaraMeshParticles 
MATUSAGE_GeometryCache 
MATUSAGE_Water 
MATUSAGE_HairStrands 
MATUSAGE_LidarPointCloud 
MATUSAGE_VirtualHeightfieldMesh 
MATUSAGE_Nanite 
MATUSAGE_Voxels 
MATUSAGE_VolumetricCloud 
MATUSAGE_HeterogeneousVolumes 
MATUSAGE_StaticMesh 
MATUSAGE_MAX 

Function Documentation

◆ DECLARE_MULTICAST_DELEGATE_OneParam()

DECLARE_MULTICAST_DELEGATE_OneParam ( FOnBaseMaterialIsSet  ,
UMaterialInterface  
)

◆ FindMaterialResource() [1/4]

FMaterialResource * FindMaterialResource ( const TArray< FMaterialResource * > &  MaterialResources,
ERHIFeatureLevel::Type  InFeatureLevel,
EMaterialQualityLevel::Type  QualityLevel,
bool  bAllowDefaultQuality 
)
extern

◆ FindMaterialResource() [2/4]

FMaterialResource * FindMaterialResource ( const TArray< FMaterialResource * > &  MaterialResources,
EShaderPlatform  InShaderPlatform,
EMaterialQualityLevel::Type  QualityLevel,
bool  bAllowDefaultQuality 
)
extern

◆ FindMaterialResource() [3/4]

FMaterialResource * FindMaterialResource ( TArray< FMaterialResource * > &  MaterialResources,
ERHIFeatureLevel::Type  InFeatureLevel,
EMaterialQualityLevel::Type  QualityLevel,
bool  bAllowDefaultQuality 
)
extern

◆ FindMaterialResource() [4/4]

FMaterialResource * FindMaterialResource ( TArray< FMaterialResource * > &  MaterialResources,
EShaderPlatform  InShaderPlatform,
EMaterialQualityLevel::Type  QualityLevel,
bool  bAllowDefaultQuality 
)
extern

◆ FindOrCreateMaterialResource() [1/2]

ENGINE_API FMaterialResource * FindOrCreateMaterialResource ( TArray< FMaterialResource * > &  MaterialResources,
UMaterial OwnerMaterial,
UMaterialInstance OwnerMaterialInstance,
ERHIFeatureLevel::Type  InFeatureLevel,
EMaterialQualityLevel::Type  QualityLevel 
)

◆ FindOrCreateMaterialResource() [2/2]

ENGINE_API FMaterialResource * FindOrCreateMaterialResource ( TArray< FMaterialResource * > &  MaterialResources,
UMaterial OwnerMaterial,
UMaterialInstance OwnerMaterialInstance,
EShaderPlatform  InShaderPlatform,
EMaterialQualityLevel::Type  QualityLevel 
)

◆ GetCurrentMaterialQualityLevelChecked()

ENGINE_API EMaterialQualityLevel::Type GetCurrentMaterialQualityLevelChecked ( )

◆ ProcessSerializedInlineShaderMaps()

void ProcessSerializedInlineShaderMaps ( UMaterialInterface Owner,
TArray< FMaterialResource > &  LoadedResources,
TArray< FMaterialResource * > &  OutMaterialResourcesLoaded 
)
extern

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