UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialInterface.cpp File Reference
#include "Materials/MaterialInterface.h"
#include "MeshUVChannelInfo.h"
#include "RenderingThread.h"
#include "DataDrivenShaderPlatformInfo.h"
#include "PrimitiveViewRelevance.h"
#include "MaterialShared.h"
#include "Materials/Material.h"
#include "Materials/MaterialSharedPrivate.h"
#include "UObject/AssetRegistryTagsContext.h"
#include "UObject/ObjectSaveContext.h"
#include "UObject/PropertyPortFlags.h"
#include "UObject/UObjectIterator.h"
#include "UObject/UE5ReleaseStreamObjectVersion.h"
#include "EditorFramework/AssetImportData.h"
#include "Engine/AssetUserData.h"
#include "Engine/Texture2D.h"
#include "Engine/World.h"
#include "ObjectCacheEventSink.h"
#include "Engine/SubsurfaceProfile.h"
#include "Engine/SpecularProfile.h"
#include "Engine/NeuralProfile.h"
#include "Interfaces/ITargetPlatform.h"
#include "Components/PrimitiveComponent.h"
#include "ContentStreaming.h"
#include "MeshBatch.h"
#include "Engine/Scene.h"
#include "RenderUtils.h"
#include "TextureCompiler.h"
#include "MaterialDomain.h"
#include "MaterialShaderQualitySettings.h"
#include "Materials/MaterialRenderProxy.h"
#include "ProfilingDebugging/CookStats.h"
#include "ShaderPlatformQualitySettings.h"
#include "ObjectCacheContext.h"
#include "MaterialCachedData.h"
#include "Components/DecalComponent.h"
#include "UObject/ArchiveCookContext.h"
#include "UObject/Package.h"
#include "ShaderCompiler.h"
#include "Materials/MaterialInsights.h"
#include "UnrealEngine.h"
#include "UObject/ObjectEditorOptionalSupport.h"
#include "UObject/ICookInfo.h"

Namespaces

namespace  UE
 
namespace  UE::Private
 

Macros

#define LOCTEXT_NAMESPACE   "MaterialInterface"
 
#define MATERIAL_TEXTURE_STREAMING_DATA_VERSION   1
 

Functions

bool IsHairStrandsGeometrySupported (const EShaderPlatform Platform)
 
bool IsCompatibleWithHairStrands (const FMaterial *Material, const ERHIFeatureLevel::Type FeatureLevel)
 
bool IsCompatibleWithHairStrands (EShaderPlatform Platform, const FMaterialShaderParameters &Parameters)
 
EMaterialQualityLevel::Type GetCurrentMaterialQualityLevelChecked ()
 
bool DoesMaterialUseTexture (const UMaterialInterface *Material, const UTexture *CheckTexture)
 

Variables

TAutoConsoleVariable< int32CVarStreamingUseMaterialData
 
bool UE::Private::GEnableTexturesSamplingStreamingCache = false
 

Macro Definition Documentation

◆ LOCTEXT_NAMESPACE

#define LOCTEXT_NAMESPACE   "MaterialInterface"

◆ MATERIAL_TEXTURE_STREAMING_DATA_VERSION

#define MATERIAL_TEXTURE_STREAMING_DATA_VERSION   1

This is used to deprecate data that has been built with older versions. To regenerate the data, commands like "BUILDMATERIALTEXTURESTREAMINGDATA" can be used in the editor. Ideally the data would be stored the DDC instead of the asset, but this is not yet possible because it requires the GPU.

Function Documentation

◆ DoesMaterialUseTexture()

bool DoesMaterialUseTexture ( const UMaterialInterface Material,
const UTexture CheckTexture 
)

Check whether the specified texture is needed to render the material instance.

Parameters
TextureThe texture to check.
Returns
bool - true if the material uses the specified texture.

◆ GetCurrentMaterialQualityLevelChecked()

EMaterialQualityLevel::Type GetCurrentMaterialQualityLevelChecked ( )

◆ IsCompatibleWithHairStrands() [1/2]

bool IsCompatibleWithHairStrands ( const FMaterial Material,
const ERHIFeatureLevel::Type  FeatureLevel 
)

◆ IsCompatibleWithHairStrands() [2/2]

bool IsCompatibleWithHairStrands ( EShaderPlatform  Platform,
const FMaterialShaderParameters Parameters 
)

◆ IsHairStrandsGeometrySupported()

bool IsHairStrandsGeometrySupported ( const EShaderPlatform  Platform)

Variable Documentation

◆ CVarStreamingUseMaterialData

TAutoConsoleVariable<int32> CVarStreamingUseMaterialData
extern