UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialInstanceSupport.h File Reference
#include "CoreMinimal.h"
#include "RenderingThread.h"
#include "MaterialShared.h"
#include "Materials/MaterialInstance.h"
#include "Materials/MaterialRenderProxy.h"
#include "HAL/LowLevelMemTracker.h"
#include <limits>

Go to the source code of this file.

Classes

class  FMICReentranceGuard
 
struct  FHashedMaterialParameterInfoPacked
 
class  THashedMaterialParameterMap< ValueType >
 
struct  THashedMaterialParameterMap< ValueType >::TNamedParameter
 
class  FMaterialInstanceResource
 
struct  FMaterialInstanceParameterSet
 

Macros

#define HASHED_MATERIAL_PARAMETER_MAP_VALIDATE   0
 

Functions

void CacheMaterialInstanceUniformExpressions (const UMaterialInstance *MaterialInstance, bool bRecreateUniformBuffer=false)
 
void RecacheMaterialInstanceUniformExpressions (const UMaterialInterface *ParentMaterial, bool bRecreateUniformBuffer)
 
template<typename ParameterType >
ParameterType * GameThread_FindParameterByName (TArray< ParameterType > &Parameters, const FHashedMaterialParameterInfo &ParameterInfo)
 
template<typename ParameterType >
const ParameterType * GameThread_FindParameterByName (const TArray< ParameterType > &Parameters, const FHashedMaterialParameterInfo &ParameterInfo)
 
template<typename ParameterType >
int32 GameThread_FindParameterIndexByName (const TArray< ParameterType > &Parameters, const FHashedMaterialParameterInfo &ParameterInfo)
 
template<typename ParameterType >
ParameterType * GameThread_FindParameterByIndex (TArray< ParameterType > &Parameters, int32 Index)
 
template<typename ParameterType >
const ParameterType * GameThread_FindParameterByIndex (const TArray< ParameterType > &Parameters, int32 Index)
 
template<typename ParameterType >
bool GameThread_GetParameterValue (const TArray< ParameterType > &Parameters, const FHashedMaterialParameterInfo &ParameterInfo, FMaterialParameterMetadata &OutResult)
 
template<typename ParameterType , typename OverridenParametersType >
void GameThread_ApplyParameterOverrides (const TArray< ParameterType > &Parameters, TArrayView< const int32 > LayerIndexRemap, bool bSetOverride, OverridenParametersType &OverridenParameters, TMap< FMaterialParameterInfo, FMaterialParameterMetadata > &OutParameters, bool bAddIfNotFound=false)
 
template<typename TArrayType >
void RemapLayersForParent (TArrayType &LayerIndexRemap, int32 NumParentLayers, TArrayView< const int32 > ParentLayerIndexRemap)
 

Macro Definition Documentation

◆ HASHED_MATERIAL_PARAMETER_MAP_VALIDATE

#define HASHED_MATERIAL_PARAMETER_MAP_VALIDATE   0

Function Documentation

◆ CacheMaterialInstanceUniformExpressions()

void CacheMaterialInstanceUniformExpressions ( const UMaterialInstance MaterialInstance,
bool  bRecreateUniformBuffer 
)

Cache uniform expressions for the given material instance.

Parameters
MaterialInstance- The material instance for which to cache uniform expressions.

Cache uniform expressions for the given material.

Parameters
MaterialInstance- The material instance for which to cache uniform expressions.

◆ GameThread_ApplyParameterOverrides()

template<typename ParameterType , typename OverridenParametersType >
void GameThread_ApplyParameterOverrides ( const TArray< ParameterType > &  Parameters,
TArrayView< const int32 LayerIndexRemap,
bool  bSetOverride,
OverridenParametersType OverridenParameters,
TMap< FMaterialParameterInfo, FMaterialParameterMetadata > &  OutParameters,
bool  bAddIfNotFound = false 
)
inline

◆ GameThread_FindParameterByIndex() [1/2]

template<typename ParameterType >
const ParameterType * GameThread_FindParameterByIndex ( const TArray< ParameterType > &  Parameters,
int32  Index 
)

◆ GameThread_FindParameterByIndex() [2/2]

template<typename ParameterType >
ParameterType * GameThread_FindParameterByIndex ( TArray< ParameterType > &  Parameters,
int32  Index 
)

Finds a parameter by index from the game thread.

◆ GameThread_FindParameterByName() [1/2]

template<typename ParameterType >
const ParameterType * GameThread_FindParameterByName ( const TArray< ParameterType > &  Parameters,
const FHashedMaterialParameterInfo ParameterInfo 
)

◆ GameThread_FindParameterByName() [2/2]

template<typename ParameterType >
ParameterType * GameThread_FindParameterByName ( TArray< ParameterType > &  Parameters,
const FHashedMaterialParameterInfo ParameterInfo 
)

Finds a parameter by name from the game thread.

◆ GameThread_FindParameterIndexByName()

template<typename ParameterType >
int32 GameThread_FindParameterIndexByName ( const TArray< ParameterType > &  Parameters,
const FHashedMaterialParameterInfo ParameterInfo 
)

◆ GameThread_GetParameterValue()

template<typename ParameterType >
bool GameThread_GetParameterValue ( const TArray< ParameterType > &  Parameters,
const FHashedMaterialParameterInfo ParameterInfo,
FMaterialParameterMetadata OutResult 
)
inline

◆ RecacheMaterialInstanceUniformExpressions()

void RecacheMaterialInstanceUniformExpressions ( const UMaterialInterface ParentMaterial,
bool  bRecreateUniformBuffer 
)

Recaches uniform expressions for all material instances with a given parent. WARNING: This function is a noop outside of the Editor!

Parameters
ParentMaterial- The parent material to look for.

◆ RemapLayersForParent()

template<typename TArrayType >
void RemapLayersForParent ( TArrayType &  LayerIndexRemap,
int32  NumParentLayers,
TArrayView< const int32 ParentLayerIndexRemap 
)
inline