UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UMaterial Class Reference

#include <Material.h>

+ Inheritance diagram for UMaterial:

Public Types

enum class  EPostEditChangeEffectOnShaders { Default , DoesNotInvalidate }
 
- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 

Public Member Functions

ENGINE_API UMaterial ()
 
ENGINE_API UMaterial (FVTableHelper &Helper)
 
virtual ENGINE_API UMaterialGetMaterial () override
 
virtual ENGINE_API const UMaterialGetMaterial () const override
 
virtual ENGINE_API const UMaterialGetMaterial_Concurrent (TMicRecursionGuard RecursionGuard=TMicRecursionGuard()) const override
 
virtual ENGINE_API void GetMaterialInheritanceChain (FMaterialInheritanceChain &OutChain) const override
 
virtual ENGINE_API bool GetParameterValue (EMaterialParameterType Type, const FMemoryImageMaterialParameterInfo &ParameterInfo, FMaterialParameterMetadata &OutValue, EMaterialGetParameterValueFlags Flags=EMaterialGetParameterValueFlags::Default) const override
 
virtual ENGINE_API bool GetRefractionSettings (float &OutBiasValue) const override
 
virtual ENGINE_API EBlendableLocation GetBlendableLocation (const UMaterial *Base) const override
 
virtual ENGINE_API int32 GetBlendablePriority (const UMaterial *Base) const override
 
virtual ENGINE_API void GetDependencies (TSet< UMaterialInterface * > &Dependencies) override
 
virtual ENGINE_API FMaterialRenderProxyGetRenderProxy () const override
 
virtual ENGINE_API UPhysicalMaterialGetPhysicalMaterial () const override
 
virtual ENGINE_API UPhysicalMaterialMaskGetPhysicalMaterialMask () const override
 
virtual ENGINE_API UPhysicalMaterialGetPhysicalMaterialFromMap (int32 Index) const override
 
virtual ENGINE_API UMaterialInterfaceGetNaniteOverride (TMicRecursionGuard RecursionGuard=TMicRecursionGuard()) const override
 
virtual ENGINE_API void GetUsedTextures (TArray< UTexture * > &OutTextures, TOptional< EMaterialQualityLevel::Type > InSpecificQualityLevel=TOptional< EMaterialQualityLevel::Type >(), TOptional< EShaderPlatform > InSpecificShaderPlatform=TOptional< EShaderPlatform >()) const override
 
virtual ENGINE_API void GetUsedTexturesAndIndices (TArray< UTexture * > &OutTextures, TArray< TArray< int32 > > &OutIndices, EMaterialQualityLevel::Type QualityLevel, EShaderPlatform InShaderPlatform) const override
 
virtual ENGINE_API void OverrideTexture (const UTexture *InTextureToOverride, UTexture *OverrideTexture, ERHIFeatureLevel::Type InFeatureLevel) override
 
virtual ENGINE_API void SetNumericParameterDefault (EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, const UE::Shader::FValue &Value, EShaderPlatform InShaderPlatform) override
 
virtual ENGINE_API void ClearNumericParameterDefault (EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, EShaderPlatform InShaderPlatform) override
 
virtual ENGINE_API bool CheckMaterialUsage (const EMaterialUsage Usage) override
 
virtual ENGINE_API bool CheckMaterialUsage_Concurrent (const EMaterialUsage Usage) const override
 
virtual ENGINE_API FMaterialResourceAllocateResource ()
 
virtual ENGINE_API FMaterialResourceGetMaterialResource (EShaderPlatform InShaderPlatform, EMaterialQualityLevel::Type QualityLevel=EMaterialQualityLevel::Num) override
 
virtual ENGINE_API const FMaterialResourceGetMaterialResource (EShaderPlatform InShaderPlatform, EMaterialQualityLevel::Type QualityLevel=EMaterialQualityLevel::Num) const override
 
virtual ENGINE_API bool GetMaterialLayers (FMaterialLayersFunctions &OutLayers, TMicRecursionGuard RecursionGuard=TMicRecursionGuard()) const override
 
virtual ENGINE_API bool UpdateLightmassTextureTracking () override
 
virtual ENGINE_API void RecacheUniformExpressions (bool bRecreateUniformBuffer) const override
 
virtual ENGINE_API float GetOpacityMaskClipValue () const override
 
virtual ENGINE_API bool GetCastDynamicShadowAsMasked () const override
 
virtual ENGINE_API EBlendMode GetBlendMode () const override
 
virtual ENGINE_API FMaterialShadingModelField GetShadingModels () const override
 
virtual ENGINE_API bool IsShadingModelFromMaterialExpression () const override
 
virtual ENGINE_API bool IsTwoSided () const override
 
virtual ENGINE_API bool IsThinSurface () const override
 
virtual ENGINE_API bool IsDitheredLODTransition () const override
 
virtual ENGINE_API bool IsTranslucencyWritingCustomDepth () const override
 
virtual ENGINE_API bool IsTranslucencyWritingVelocity () const override
 
virtual ENGINE_API bool IsTranslucencyVelocityFromDepth () const override
 
virtual ENGINE_API bool IsTranslucencyWritingFrontLayerTransparency () const override
 
virtual ENGINE_API bool IsMasked () const override
 
virtual ENGINE_API bool IsDeferredDecal () const override
 
virtual ENGINE_API bool IsUIMaterial () const
 
virtual ENGINE_API bool IsPostProcessMaterial () const
 
ENGINE_API bool IsPostProcessMaterialOutputingAlpha () const
 
virtual ENGINE_API USubsurfaceProfileGetSubsurfaceProfile_Internal () const override
 
virtual ENGINE_API USubsurfaceProfileGetSubsurfaceProfileRoot_Internal () const override
 
virtual ENGINE_API uint32 NumSubsurfaceProfileRoot_Internal () const override
 
virtual ENGINE_API USubsurfaceProfileGetSubsurfaceProfileRoot_Internal (uint32 Index) const override
 
virtual ENGINE_API USubsurfaceProfileGetSubsurfaceProfileOverride_Internal () const override
 
virtual ENGINE_API uint32 NumSpecularProfile_Internal () const override
 
virtual ENGINE_API USpecularProfileGetSpecularProfile_Internal (uint32 Index) const override
 
virtual ENGINE_API UNeuralProfileGetNeuralProfile_Internal () const override
 
virtual ENGINE_API bool CastsRayTracedShadows () const override
 
virtual ENGINE_API bool IsTessellationEnabled () const override
 
virtual ENGINE_API FDisplacementScaling GetDisplacementScaling () const override
 
virtual ENGINE_API bool IsDisplacementFadeEnabled () const override
 
virtual ENGINE_API FDisplacementFadeRange GetDisplacementFadeRange () const override
 
virtual ENGINE_API float GetMaxWorldPositionOffsetDisplacement () const override
 
virtual ENGINE_API bool ShouldAlwaysEvaluateWorldPositionOffset () const override
 
virtual ENGINE_API bool HasPixelAnimation () const override
 
virtual ENGINE_API bool HasVertexInterpolator () const override
 
virtual ENGINE_API bool HasCustomizedUVs () const override
 
virtual ENGINE_API bool WritesToRuntimeVirtualTexture () const override
 
virtual ENGINE_API bool HasMeshPaintTexture () const override
 
virtual ENGINE_API bool HasCustomPrimitiveData () const override
 
virtual ENGINE_API bool HasSubstrateRoughnessTracking () const override
 
virtual ENGINE_API bool IsCompatibleWithLumenCardSharing () const override
 
ENGINE_API bool IsMobileSeparateTranslucencyEnabled () const
 
virtual ENGINE_API FGraphEventArray PrecachePSOs (const FPSOPrecacheVertexFactoryDataList &VertexFactoryDataList, const FPSOPrecacheParams &PreCacheParams, EPSOPrecachePriority Priority, TArray< FMaterialPSOPrecacheRequestID > &OutMaterialPSORequestIDs) override
 
ENGINE_API void SetShadingModel (EMaterialShadingModel NewModel)
 
virtual ENGINE_API bool IsPropertyActive (EMaterialProperty InProperty) const override
 
ENGINE_API bool IsPropertyActiveInDerived (EMaterialProperty InProperty, const UMaterialInterface *DerivedMaterial) const
 
virtual ENGINE_API void PreSave (FObjectPreSaveContext ObjectSaveContext) override
 
virtual ENGINE_API void PostInitProperties () override
 
virtual ENGINE_API void Serialize (FArchive &Ar) override
 
virtual ENGINE_API void PostDuplicate (bool bDuplicateForPIE) override
 
virtual ENGINE_API void PostLoad () override
 
virtual ENGINE_API void BeginDestroy () override
 
virtual ENGINE_API bool IsReadyForFinishDestroy () override
 
virtual ENGINE_API void FinishDestroy () override
 
virtual ENGINE_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize) override
 
virtual ENGINE_API bool CanBeClusterRoot () const override
 
virtual ENGINE_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const override
 
ENGINE_API void PostEditChangePropertyInternal (FPropertyChangedEvent &PropertyChangedEvent, const EPostEditChangeEffectOnShaders EffectOnShaders)
 
ENGINE_API bool IsDefaultMaterial () const
 
ENGINE_API void ReleaseResources ()
 
ENGINE_API bool IsUsageFlagDirty (EMaterialUsage Usage)
 
ENGINE_API bool IsCompilingOrHadCompileError (ERHIFeatureLevel::Type InFeatureLevel)
 
ENGINE_API bool IsCompilingOrHadCompileError (EShaderPlatform InShaderPlatform)
 
void StartCacheUniformExpressions () const
 
void FinishCacheUniformExpressions () const
 
virtual ENGINE_API void LogMaterialsAndTextures (FOutputDevice &Ar, int32 Indent) const override
 
virtual ENGINE_API void GetLightingGuidChain (bool bIncludeTextures, TArray< FGuid > &OutGuids) const override
 
ENGINE_API bool CheckInValidStateForCompilation (class FMaterialCompiler *Compiler) const
 
FString GetUsageName (const EMaterialUsage Usage) const
 
ENGINE_API bool GetUsageByFlag (const EMaterialUsage Usage) const
 
ENGINE_API bool SetMaterialUsage (bool &bNeedsRecompile, const EMaterialUsage Usage, UMaterialInterface *MaterialInstance=nullptr)
 
ENGINE_API bool NeedsSetMaterialUsage_Concurrent (bool &bOutHasUsage, const EMaterialUsage Usage) const
 
virtual ENGINE_API void CacheShaders (EMaterialShaderPrecompileMode CompileMode) override
 Submits remaining shaders for recompilation.
 
virtual ENGINE_API bool IsComplete () const override
 Checks to see if this material has all its shaders cached.
 
uint32 GetMaterialDecalResponse () const
 
ENGINE_API bool AttemptInsertNewGroupName (const FString &InNewName)
 
virtual ENGINE_API void DumpDebugInfo (FOutputDevice &OutputDevice) const override
 
void SaveShaderStableKeys (const class ITargetPlatform *TP)
 
virtual ENGINE_API void SaveShaderStableKeysInner (const class ITargetPlatform *TP, const struct FStableShaderKeyAndValue &SaveKeyVal) override
 
ENGINE_API bool IsPropertyConnected (EMaterialProperty Property) const
 
ENGINE_API bool HasBaseColorConnected () const
 
ENGINE_API bool HasRoughnessConnected () const
 
ENGINE_API bool HasAmbientOcclusionConnected () const
 
ENGINE_API bool HasNormalConnected () const
 
ENGINE_API bool HasSpecularConnected () const
 
ENGINE_API bool HasMetallicConnected () const
 
ENGINE_API bool HasEmissiveColorConnected () const
 
ENGINE_API bool HasAnisotropyConnected () const
 
ENGINE_API bool HasSurfaceThicknessConnected () const
 
ENGINE_API bool HasSubstrateFrontMaterialConnected () const
 
ENGINE_API bool HasVertexPositionOffsetConnected () const
 
ENGINE_API bool HasDisplacementConnected () const
 
ENGINE_API bool HasPixelDepthOffsetConnected () const
 
ENGINE_API bool IsPropertySupported (EMaterialProperty InProperty) const
 
ENGINE_API TArrayView< const TObjectPtr< UPhysicalMaterial > > GetRenderTracePhysicalMaterialOutputs () const
 
ENGINE_API void SetRenderTracePhysicalMaterialOutputs (TArrayView< TObjectPtr< UPhysicalMaterial > > PhysicalMaterials)
 
- Public Member Functions inherited from UMaterialInterface
const FMaterialCachedTexturesSamplingInfoGetCachedTexturesSamplingInfo () const
 
virtual ENGINE_API FTextureSamplingInfo CalculateTexturesSamplingInfo (UTexture *Texture)
 
ENGINE_API UMaterialInterface ()
 
ENGINE_API UMaterialInterface (FVTableHelper &Helper)
 
virtual ENGINE_API ~UMaterialInterface ()
 
virtual ENGINE_API void AddAssetUserData (UAssetUserData *InUserData) override
 
virtual ENGINE_API void RemoveUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API UAssetUserDataGetAssetUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
ENGINE_API void SetFeatureLevelToCompile (ERHIFeatureLevel::Type FeatureLevel, bool bShouldCompile)
 
virtual ENGINE_API void PostCDOContruct () override
 
virtual ENGINE_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None) override
 
virtual ENGINE_API void OverrideBlendableSettings (class FSceneView &View, float Weight) const override
 
ENGINE_API UMaterialGetBaseMaterial ()
 
virtual ENGINE_API void OnAssignedAsOverride (const UObject *Owner)
 
virtual ENGINE_API void OnRemovedAsOverride (const UObject *Owner)
 
virtual ENGINE_API const FMaterialCachedExpressionDataGetCachedExpressionData (TMicRecursionGuard RecursionGuard=TMicRecursionGuard()) const
 
ENGINE_API bool IsUsingNewHLSLGenerator () const
 
ENGINE_API bool IsUsingNewTranslatorPrototype () const
 
ENGINE_API const FSubstrateCompilationConfigGetSubstrateCompilationConfig () const
 
ENGINE_API void SetSubstrateCompilationConfig (FSubstrateCompilationConfig &SubstrateCompilationConfig)
 
virtual bool IsDependent (UMaterialInterface *TestDependency)
 
virtual bool IsDependent_Concurrent (UMaterialInterface *TestDependency, TMicRecursionGuard RecursionGuard=TMicRecursionGuard())
 
void GetQualityLevelUsage (TArray< bool, TInlineAllocator< EMaterialQualityLevel::Num > > &QualityLevelsUsed, EShaderPlatform ShaderPlatform, bool bCooking=false)
 
void GetQualityLevelUsageForCooking (TArray< bool, TInlineAllocator< EMaterialQualityLevel::Num > > &QualityLevelsUsed, EShaderPlatform ShaderPlatform)
 
virtual void GetUsedTextures (TArray< UTexture * > &OutTextures, EMaterialQualityLevel::Type QualityLevel, bool bAllQualityLevels, ERHIFeatureLevel::Type FeatureLevel, bool bAllFeatureLevels) const final
 
virtual void OverrideNumericParameterDefault (EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, const UE::Shader::FValue &Value, bool bOverride, ERHIFeatureLevel::Type FeatureLevel) final
 
virtual FMaterialResourceGetMaterialResource (ERHIFeatureLevel::Type InFeatureLevel, EMaterialQualityLevel::Type QualityLevel=EMaterialQualityLevel::Num) final
 
virtual const FMaterialResourceGetMaterialResource (ERHIFeatureLevel::Type InFeatureLevel, EMaterialQualityLevel::Type QualityLevel=EMaterialQualityLevel::Num) const final
 
UMaterialInterfaceGetNaniteOverideMaterial () const
 
FGraphEventArray PrecachePSOs (const FVertexFactoryType *VertexFactoryType, const struct FPSOPrecacheParams &PreCacheParams)
 
FGraphEventArray PrecachePSOs (const TConstArrayView< const FVertexFactoryType * > &VertexFactoryTypes, const struct FPSOPrecacheParams &PreCacheParams)
 
FGraphEventArray PrecachePSOs (const TConstArrayView< const FVertexFactoryType * > &VertexFactoryTypes, const struct FPSOPrecacheParams &PreCacheParams, TArray< FMaterialPSOPrecacheRequestID > &OutMaterialPSORequestIDs)
 
FGraphEventArray PrecachePSOs (const TConstArrayView< const FVertexFactoryType * > &VertexFactoryTypes, const struct FPSOPrecacheParams &PreCacheParams, EPSOPrecachePriority PSOPrecachePriority, TArray< FMaterialPSOPrecacheRequestID > &OutMaterialPSORequestIDs)
 
virtual FGraphEventArray PrecachePSOs (const FPSOPrecacheVertexFactoryDataList &VertexFactoryDataList, const struct FPSOPrecacheParams &PreCacheParams, EPSOPrecachePriority Priority, TArray< FMaterialPSOPrecacheRequestID > &OutMaterialPSORequestIDs)
 
virtual ENGINE_API void GetAllParameterInfoOfType (EMaterialParameterType Type, TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
virtual ENGINE_API void GetAllParametersOfType (EMaterialParameterType Type, TMap< FMaterialParameterInfo, FMaterialParameterMetadata > &OutParameters) const
 
ENGINE_API void GetAllScalarParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API void GetAllVectorParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API void GetAllDoubleVectorParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API void GetAllTextureParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API void GetAllTextureCollectionParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API void GetAllParameterCollectionParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API void GetAllRuntimeVirtualTextureParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API void GetAllSparseVolumeTextureParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API void GetAllFontParameterInfo (TArray< FMaterialParameterInfo > &OutParameterInfo, TArray< FGuid > &OutParameterIds) const
 
ENGINE_API bool GetParameterDefaultValue (EMaterialParameterType Type, const FMemoryImageMaterialParameterInfo &ParameterInfo, FMaterialParameterMetadata &OutValue) const
 
ENGINE_API bool GetScalarParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, float &OutValue) const
 
ENGINE_API bool GetVectorParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, FLinearColor &OutValue) const
 
ENGINE_API bool GetDoubleVectorParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, FVector4d &OutValue) const
 
ENGINE_API bool GetTextureParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, class UTexture *&OutValue) const
 
ENGINE_API bool GetTextureCollectionParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, class UTextureCollection *&OutValue) const
 
ENGINE_API bool GetParameterCollectionParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, class UMaterialParameterCollection *&OutValue) const
 
ENGINE_API bool GetRuntimeVirtualTextureParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, class URuntimeVirtualTexture *&OutValue) const
 
ENGINE_API bool GetSparseVolumeTextureParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, class USparseVolumeTexture *&OutValue) const
 
ENGINE_API bool GetFontParameterDefaultValue (const FHashedMaterialParameterInfo &ParameterInfo, class UFont *&OutFontValue, int32 &OutFontPage) const
 
ENGINE_API TArrayView< const TObjectPtr< UObject > > GetReferencedTextures () const
 
ENGINE_API TConstArrayView< TObjectPtr< UTextureCollection > > GetReferencedTextureCollections () const
 
ENGINE_API FMaterialRelevance GetRelevance (ERHIFeatureLevel::Type InFeatureLevel) const
 
ENGINE_API FMaterialRelevance GetRelevance (EShaderPlatform ShaderPlatform) const
 
ENGINE_API FMaterialRelevance GetRelevance_Concurrent (ERHIFeatureLevel::Type InFeatureLevel) const
 
ENGINE_API FMaterialRelevance GetRelevance_Concurrent (EShaderPlatform ShaderPlatform) const
 
ENGINE_API bool IsUsingWorldPositionOffset_Concurrent (ERHIFeatureLevel::Type InFeatureLevel) const
 
ENGINE_API bool IsUsingWorldPositionOffset_Concurrent (EShaderPlatform InShaderPlatform) const
 
ENGINE_API bool IsUsingTemporalResponsiveness_Concurrent (EShaderPlatform InShaderPlatform) const
 
ENGINE_API bool IsUsingMotionVectorWorldOffset_Concurrent (EShaderPlatform InShaderPlatform) const
 
int32 GetWidth () const
 
int32 GetHeight () const
 
const FGuidGetLightingGuid () const
 
void SetLightingGuid ()
 
bool GetOverrideCastShadowAsMasked () const
 
bool GetOverrideEmissiveBoost () const
 
bool GetOverrideDiffuseBoost () const
 
bool GetOverrideExportResolutionScale () const
 
virtual bool GetCastShadowAsMasked () const
 
virtual float GetEmissiveBoost () const
 
virtual float GetDiffuseBoost () const
 
virtual float GetExportResolutionScale () const
 
void SetOverrideCastShadowAsMasked (bool bInOverrideCastShadowAsMasked)
 
void SetOverrideEmissiveBoost (bool bInOverrideEmissiveBoost)
 
void SetOverrideDiffuseBoost (bool bInOverrideDiffuseBoost)
 
void SetOverrideExportResolutionScale (bool bInOverrideExportResolutionScale)
 
void SetCastShadowAsMasked (bool InCastShadowAsMasked)
 
void SetEmissiveBoost (float InEmissiveBoost)
 
void SetDiffuseBoost (float InDiffuseBoost)
 
void SetExportResolutionScale (float InExportResolutionScale)
 
ENGINE_API bool GetScalarParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, float &OutValue, bool bOveriddenOnly=false) const
 
ENGINE_API bool GetVectorParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, FLinearColor &OutValue, bool bOveriddenOnly=false) const
 
ENGINE_API bool GetDoubleVectorParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, FVector4d &OutValue, bool bOveriddenOnly=false) const
 
virtual ENGINE_API bool GetTextureParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, class UTexture *&OutValue, bool bOveriddenOnly=false) const
 
virtual ENGINE_API bool GetTextureCollectionParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, class UTextureCollection *&OutValue, bool bOveriddenOnly=false) const
 
virtual ENGINE_API bool GetParameterCollectionParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, class UMaterialParameterCollection *&OutValue, bool bOveriddenOnly=false) const
 
ENGINE_API bool GetRuntimeVirtualTextureParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, class URuntimeVirtualTexture *&OutValue, bool bOveriddenOnly=false) const
 
ENGINE_API bool GetSparseVolumeTextureParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, class USparseVolumeTexture *&OutValue, bool bOveriddenOnly=false) const
 
ENGINE_API bool GetFontParameterValue (const FHashedMaterialParameterInfo &ParameterInfo, class UFont *&OutFontValue, int32 &OutFontPage, bool bOveriddenOnly=false) const
 
virtual ENGINE_API bool GetUserSceneTextureOverride (FName &InOutValue) const
 
ENGINE_API FName GetUserSceneTextureOutput (const UMaterial *Base) const
 
virtual ENGINE_API USpecularProfileGetSpecularProfileOverride_Internal () const
 
virtual ENGINE_API void SetForceMipLevelsToBeResident (bool OverrideForceMiplevelsToBeResident, bool bForceMiplevelsToBeResidentValue, float ForceDuration, int32 CinematicTextureGroups=0, bool bFastResponse=false)
 
bool IsCompiling () const
 
ENGINE_API void EnsureIsComplete ()
 Checks to see if this material has all its shaders cached and if not, will perform a synchronous compilation of those.
 
ENGINE_API void AnalyzeMaterialProperty (EMaterialProperty InProperty, int32 &OutNumTextureCoordinates, bool &bOutRequiresVertexData)
 
ENGINE_API void AnalyzeMaterialPropertyEx (EMaterialProperty InProperty, FMaterialAnalysisResult &OutResult)
 
ENGINE_API void AnalyzeMaterialCustomOutput (UMaterialExpressionCustomOutput *InCustomOutput, int32 InOutputIndex, FMaterialAnalysisResult &OutResult)
 
ENGINE_API void AnalyzeMaterialCompilationInCallback (TFunctionRef< void(FMaterialCompiler *)> InCompilationCallback, FMaterialAnalysisResult &OutResult)
 
ENGINE_API void AnalyzeMaterialTranslationOutput (FMaterialResource *MaterialResource, EShaderPlatform ShaderPlatform, FMaterialAnalysisResult &OutResult)
 
ENGINE_API void AnalyzeMaterialTranslationOutput (FMaterialResource *MaterialResource, EShaderPlatform ShaderPlatform, bool ValidationMode, FMaterialAnalysisResult &OutResult)
 
ENGINE_API bool UseAnyStreamingTexture () const
 
bool HasTextureStreamingData () const
 
const TArray< FMaterialTextureInfo > & GetTextureStreamingData () const
 
TArray< FMaterialTextureInfo > & GetTextureStreamingData ()
 
ENGINE_API bool FindTextureStreamingDataIndexRange (FName TextureName, int32 &LowerIndex, int32 &HigherIndex) const
 
ENGINE_API void SetTextureStreamingData (const TArray< FMaterialTextureInfo > &InTextureStreamingData)
 
virtual ENGINE_API float GetTextureDensity (FName TextureName, const struct FMeshUVChannelInfo &UVChannelData) const
 
ENGINE_API float GetTextureDensityWithCache (const FTextureSamplingInfo &TextureSamplingInfo, const FMeshUVChannelInfo &UVChannelData) const
 
ENGINE_API void SortTextureStreamingData (bool bForceSort, bool bFinalSort)
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 

Static Public Member Functions

static ENGINE_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static ENGINE_API UMaterialGetDefaultMaterial (EMaterialDomain Domain)
 
static ENGINE_API void UpdateMaterialShaders (TArray< const FShaderType * > &ShaderTypesToFlush, TArray< const FShaderPipelineType * > &ShaderPipelineTypesToFlush, TArray< const FVertexFactoryType * > &VFTypesToFlush, EShaderPlatform ShaderPlatform)
 
static const TCHARGetMaterialShadingModelString (EMaterialShadingModel InMaterialShadingModel)
 
static EMaterialShadingModel GetMaterialShadingModelFromString (const TCHAR *InMaterialShadingModelStr)
 
static const TCHARGetBlendModeString (EBlendMode InBlendMode)
 
static EBlendMode GetBlendModeFromString (const TCHAR *InBlendModeStr)
 
static ENGINE_API bool IsPropertyRelevantForMobile (EMaterialProperty InProperty)
 
static ENGINE_API void AllMaterialsCacheResourceShadersForRendering (bool bUpdateProgressDialog=false, bool bCacheAllRemainingShaders=true)
 
- Static Public Member Functions inherited from UMaterialInterface
static ENGINE_API void SetGlobalRequiredFeatureLevel (ERHIFeatureLevel::Type FeatureLevel, bool bShouldCompile)
 
static ENGINE_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static ENGINE_API void RecacheAllMaterialUniformExpressions (bool bRecreateUniformBuffer)
 
static ENGINE_API void SubmitRemainingJobsForWorld (UWorld *World, EMaterialShaderPrecompileMode CompileMode=EMaterialShaderPrecompileMode::Default)
 Submits shaders to be compiled for all the materials in the world.
 
static ENGINE_API void AssertDefaultMaterialsExist ()
 
static ENGINE_API void AssertDefaultMaterialsPostLoaded ()
 
static ENGINE_API void InitDefaultMaterials ()
 
static ENGINE_API bool IsDefaultMaterialInitialized ()
 
static ENGINE_API void PrecacheDefaultMaterialPSOs ()
 
static ENGINE_API uint32 GetFeatureLevelsToCompileForAllMaterials ()
 
template<typename FunctionType >
static void IterateOverActiveFeatureLevels (FunctionType InHandler)
 
static UEnumGetSamplerTypeEnum ()
 
static ENGINE_API void FilterOutPlatformShadingModels (EShaderPlatform Platform, FMaterialShadingModelField &ShadingModels)
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Public Attributes

uint8 bCastDynamicShadowAsMasked: 1
 
float OpacityMaskClipValue
 
uint8 bEnableResponsiveAA: 1
 
uint8 bScreenSpaceReflections: 1
 
uint8 bContactShadows: 1
 
uint8 TwoSided: 1
 
uint8 bIsThinSurface: 1
 
uint8 DitheredLODTransition: 1
 
uint8 DitherOpacityMask: 1
 
uint8 bAllowNegativeEmissiveColor: 1
 
uint8 bHasPixelAnimation: 1
 
uint8 bEnableTessellation: 1
 
uint8 bEnableDisplacementFade: 1
 
TEnumAsByte< EMaterialTranslucencyPassTranslucencyPass
 
TEnumAsByte< ETranslucencyLightingModeTranslucencyLightingMode
 
uint8 bEnableMobileSeparateTranslucency: 1
 
int32 NumCustomizedUVs
 
float TranslucencyDirectionalLightingIntensity
 
float TranslucentShadowDensityScale
 
float TranslucentSelfShadowDensityScale
 
float TranslucentSelfShadowSecondDensityScale
 
float TranslucentSelfShadowSecondOpacity
 
float TranslucentBackscatteringExponent
 
FLinearColor TranslucentMultipleScatteringExtinction
 
float TranslucentShadowStartOffset
 
uint8 bDisableDepthTest: 1
 
uint8 bWriteOnlyAlpha: 1
 
uint8 bGenerateSphericalParticleNormals: 1
 
uint8 bTangentSpaceNormal: 1
 
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Material, meta=(DisplayName="Emissive (Dynamic Area Light)"), AdvancedDisplay) uint8 bUseEmissiveForDynamicAreaLighting uint8 bUsedAsSpecialEngineMaterial: 1
 
uint8 bSubstrateRoughnessTracking: 1
 
uint8 bUsedWithSkeletalMesh: 1
 
uint8 bUsedWithEditorCompositing: 1
 
uint8 bUsedWithParticleSprites: 1
 
uint8 bUsedWithBeamTrails: 1
 
uint8 bUsedWithMeshParticles: 1
 
uint8 bUsedWithNiagaraSprites: 1
 
uint8 bUsedWithNiagaraRibbons: 1
 
uint8 bUsedWithNiagaraMeshParticles: 1
 
uint8 bUsedWithGeometryCache: 1
 
uint8 bUsedWithStaticLighting: 1
 
uint8 bUsedWithMorphTargets: 1
 
uint8 bUsedWithSplineMeshes: 1
 
uint8 bUsedWithInstancedStaticMeshes: 1
 
uint8 bUsedWithGeometryCollections: 1
 
uint8 bUsesDistortion: 1
 
uint8 bRootNodeOverridesDefaultDistortion_DEPRECATED: 1
 
uint8 bUsedWithClothing: 1
 
uint32 bUsedWithWater: 1
 
uint32 bUsedWithHairStrands: 1
 
uint32 bUsedWithLidarPointCloud: 1
 
uint32 bUsedWithVirtualHeightfieldMesh: 1
 
uint32 bUsedWithNanite: 1
 
uint8 bUsedWithVoxels: 1
 
uint32 bUsedWithVolumetricCloud: 1
 
uint32 bUsedWithHeterogeneousVolumes: 1
 
uint32 bUsedWithStaticMesh: 1
 
uint8 bUsedWithUI_DEPRECATED: 1
 
uint8 bForceCompatibleWithLightFunctionAtlas: 1
 
uint8 bAutomaticallySetUsageInEditor: 1
 
uint8 bFullyRough: 1
 
uint8 bUseFullPrecision_DEPRECATED: 1
 
TEnumAsByte< EMaterialFloatPrecisionModeFloatPrecisionMode
 
uint8 bUseLightmapDirectionality: 1
 
uint8 bUseAlphaToCoverage: 1
 
uint32 bForwardRenderUsePreintegratedGFForSimpleIBL: 1
 
uint8 bUseHQForwardReflections: 1
 
uint8 bForwardBlendsSkyLightCubemaps: 1
 
uint8 bUsePlanarForwardReflections: 1
 
uint8 bNormalCurvatureToRoughness: 1
 
uint8 AllowTranslucentCustomDepthWrites: 1
 
uint8 bAllowFrontLayerTranslucency: 1
 
uint8 bCompatibleWithLumenCardSharing: 1
 
uint8 Wireframe: 1
 
uint8 bAllowTranslucentLocalLightShadow: 1
 
float TranslucentLocalLightShadowQuality = 0
 
float TranslucentDirectionalLightShadowQuality = 0
 
TEnumAsByte< EMaterialShadingRateShadingRate
 
uint8 bAllowVariableRateShading: 1
 
uint8 bCanMaskedBeAssumedOpaque: 1
 
uint8 bIsMasked_DEPRECATED: 1
 
uint8 bIsPreviewMaterial: 1
 
uint8 bIsFunctionPreviewMaterial: 1
 
uint8 bUseMaterialAttributes: 1
 
uint8 bEnableExecWire: 1
 
uint8 bEnableNewHLSLGenerator: 1
 
uint8 bCastRayTracedShadows: 1
 
uint8 bUseTranslucencyVertexFog: 1
 
uint8 bApplyCloudFogging: 1
 
uint8 bIsSky: 1
 
uint8 bComputeFogPerPixel: 1
 
uint8 bOutputTranslucentVelocity: 1
 
uint8 bIsTranslucencyVelocityFromDepth: 1
 
uint8 bAllowDevelopmentShaderCompile: 1
 
uint8 bIsMaterialEditorStatsMaterial: 1
 
uint8 bRelaxRuntimeVirtualTextureRestrictions: 1
 
uint8 bRelaxRuntimeVirtualTextureRestrictionsForOldContent: 1
 
TEnumAsByte< EBlendableLocationBlendableLocation
 
uint8 BlendableOutputAlpha: 1
 
FName UserSceneTexture
 
FIntPoint UserTextureDivisor = FIntPoint(0, 0)
 
FName ResolutionRelativeToInput
 
uint8 bDisablePreExposureScale: 1
 
uint8 bUsedWithNeuralNetworks: 1
 
uint8 bEnableStencilTest: 1
 
TEnumAsByte< EMaterialStencilCompareStencilCompare
 
uint8 StencilRefValue = 0
 
int8 NeuralProfileId = INDEX_NONE
 
TEnumAsByte< ERefractionModeRefractionMode_DEPRECATED
 
TEnumAsByte< ERefractionModeRefractionMethod
 
TEnumAsByte< ERefractionCoverageModeRefractionCoverageMode
 
TEnumAsByte< EPixelDepthOffsetModePixelDepthOffsetMode
 
int32 BlendablePriority
 
uint8 bIsBlendable: 1
 
uint16 PreshaderGap
 
uint32 UsageFlagWarnings
 
std::atomic< uint32UsageFlagCacheMiss {0u}
 
float RefractionDepthBias
 
float MaxWorldPositionOffsetDisplacement
 
bool bAlwaysEvaluateWorldPositionOffset
 
FSubstrateCompilationConfig SubstrateCompilationConfig
 
FGuid StateId
 
class FDefaultMaterialInstanceDefaultMaterialInstance
 
- Public Attributes inherited from UMaterialInterface
TObjectPtr< class USubsurfaceProfileSubsurfaceProfile
 
TArray< TObjectPtr< class USubsurfaceProfile > > SubsurfaceProfiles
 
TArray< TObjectPtr< class USpecularProfile > > SpecularProfiles
 
TObjectPtr< class UNeuralProfileNeuralProfile
 
FOnBaseMaterialIsSet OnBaseMaterialSetEvent
 
FRenderCommandFence ParentRefFence
 
uint8 bIncludedInBaseGame: 1
 
virtual class UMaterialGetMaterial () PURE_VIRTUAL(UMaterialInterface
 
virtual const class UMaterialGetMaterial () const PURE_VIRTUAL(UMaterialInterface
 
virtual const class UMaterialGetMaterial_Concurrent (TMicRecursionGuard RecursionGuard=TMicRecursionGuard()) const PURE_VIRTUAL(UMaterialInterface
 
virtual void GetMaterialInheritanceChain (FMaterialInheritanceChain &OutChain) const PURE_VIRTUAL(UMaterialInterface
 
virtual void GetDependencies (TSet< UMaterialInterface * > &Dependencies) PURE_VIRTUAL(UMaterialInterface
 
virtual class FMaterialRenderProxyGetRenderProxy () const PURE_VIRTUAL(UMaterialInterface
 
virtual UPhysicalMaterialGetPhysicalMaterial () const PURE_VIRTUAL(UMaterialInterface
 
virtual UPhysicalMaterialMaskGetPhysicalMaterialMask () const PURE_VIRTUAL(UMaterialInterface
 
virtual UPhysicalMaterialGetPhysicalMaterialFromMap (int32 Index) const PURE_VIRTUAL(UMaterialInterface
 
virtual void GetUsedTextures(TArray< UTexture * > &OutTextures, TOptional< EMaterialQualityLevel::Type > InSpecificQualityLevel=TOptional< EMaterialQualityLevel::Type >(), TOptional< EShaderPlatform > InSpecificShaderPlatform=TOptional< EShaderPlatform >()) const PURE_VIRTUAL(UMaterialInterface virtual ENGINE_API voi GetUsedTexturesAndIndices )(TArray< UTexture * > &OutTextures, TArray< TArray< int32 > > &OutIndices, EMaterialQualityLevel::Type QualityLevel, ERHIFeatureLevel::Type FeatureLevel) const final
 
virtual void OverrideTexture (const UTexture *InTextureToOverride, UTexture *OverrideTexture, ERHIFeatureLevel::Type InFeatureLevel) PURE_VIRTUAL(UMaterialInterface
 
virtual void SetNumericParameterDefault (EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, const UE::Shader::FValue &Value, EShaderPlatform InShaderPlatform) PURE_VIRTUAL(UMaterialInterface
 
virtual void ClearNumericParameterDefault (EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, EShaderPlatform InShaderPlatform) PURE_VIRTUAL(UMaterialInterface
 
virtual bool CheckMaterialUsage (const EMaterialUsage Usage) PURE_VIRTUAL(UMaterialInterface
 
virtual bool CheckMaterialUsage_Concurrent (const EMaterialUsage Usage) const PURE_VIRTUAL(UMaterialInterface
 
virtual bool GetMaterialLayers (FMaterialLayersFunctions &OutLayers, TMicRecursionGuard RecursionGuard=TMicRecursionGuard()) const PURE_VIRTUAL(UMaterialInterface
 
virtual UMaterialInterfaceGetNaniteOverride (TMicRecursionGuard RecursionGuard=TMicRecursionGuard()) const PURE_VIRTUAL(UMaterialInterface
 
virtual void SaveShaderStableKeysInner(const class ITargetPlatform *TP, const struct FStableShaderKeyAndValue &SaveKeyVal) PURE_VIRTUAL(UMaterialInterface ENGINE_API FMaterialParameterInf GetParameterInfo )(EMaterialParameterAssociation Association, FName ParameterName, UMaterialFunctionInterface *LayerFunction) const
 

Friends

class FLightmassMaterialProxy
 
class FMaterialUpdateContext
 
class FMaterialResource
 
class FMaterialEditor
 
class FMaterialDetailCustomization
 

Additional Inherited Members

- Protected Member Functions inherited from UMaterialInterface
ENGINE_API void CacheTexturesSamplingInfo ()
 
virtual ENGINE_API bool CanCacheTexturesSamplingInfo () const
 
ENGINE_API uint32 GetFeatureLevelsToCompileForRendering () const
 
void UpdateMaterialRenderProxy (FMaterialRenderProxy &Proxy)
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 
- Protected Attributes inherited from UMaterialInterface
struct FLightmassMaterialInterfaceSettings LightmassSettings
 
TArray< FMaterialTextureInfoTextureStreamingData
 
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 
TOptional< FMaterialCachedTexturesSamplingInfoCachedTexturesSamplingInfo
 
bool bLoadedCachedExpressionData = false
 
TUniquePtr< FMaterialCachedExpressionDataCachedExpressionData
 

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 Enumeration Documentation

◆ EPostEditChangeEffectOnShaders

Enumerator
Default 
DoesNotInvalidate 

Constructor & Destructor Documentation

◆ UMaterial() [1/2]

UMaterial::UMaterial ( )

◆ UMaterial() [2/2]

UMaterial::UMaterial ( FVTableHelper Helper)

Member Function Documentation

◆ AddReferencedObjects()

void UMaterial::AddReferencedObjects ( UObject InThis,
FReferenceCollector Collector 
)
static

◆ AllMaterialsCacheResourceShadersForRendering()

void UMaterial::AllMaterialsCacheResourceShadersForRendering ( bool  bUpdateProgressDialog = false,
bool  bCacheAllRemainingShaders = true 
)
static

◆ AllocateResource()

FMaterialResource * UMaterial::AllocateResource ( )
virtual

◆ AttemptInsertNewGroupName()

bool UMaterial::AttemptInsertNewGroupName ( const FString &  InNewName)

Attempts to add a new group name to the Group Data struct. True if new name was added.

◆ BeginDestroy()

void UMaterial::BeginDestroy ( )
overridevirtual

Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

Reimplemented from UMaterialInterface.

◆ CacheShaders()

void UMaterial::CacheShaders ( EMaterialShaderPrecompileMode  CompileMode)
overridevirtual

Submits remaining shaders for recompilation.

This function will submit any remaining shaders to be compiled for the given material. By default these shader compilation jobs will be compiled in the background.

Parameters
CompileModeControls whether or not we block on the shader compile results.

Reimplemented from UMaterialInterface.

◆ CanBeClusterRoot()

bool UMaterial::CanBeClusterRoot ( ) const
overridevirtual

Called after load to determine if the object can be a cluster root

Returns
true if this object can be a cluster root

Reimplemented from UObjectBaseUtility.

◆ CastsRayTracedShadows()

bool UMaterial::CastsRayTracedShadows ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ CheckInValidStateForCompilation()

ENGINE_API bool UMaterial::CheckInValidStateForCompilation ( class FMaterialCompiler Compiler) const

Checks that no pre-compilation errors have been detected and if so it reports them using specified compiler.

Returns
whether no errors occurred.

◆ CheckMaterialUsage()

bool UMaterial::CheckMaterialUsage ( const EMaterialUsage  Usage)
overridevirtual

◆ CheckMaterialUsage_Concurrent()

bool UMaterial::CheckMaterialUsage_Concurrent ( const EMaterialUsage  Usage) const
overridevirtual

◆ ClearNumericParameterDefault()

void UMaterial::ClearNumericParameterDefault ( EMaterialParameterType  Type,
const FHashedMaterialParameterInfo ParameterInfo,
EShaderPlatform  InShaderPlatform 
)
overridevirtual

◆ DumpDebugInfo()

void UMaterial::DumpDebugInfo ( FOutputDevice OutputDevice) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ FinishCacheUniformExpressions()

void UMaterial::FinishCacheUniformExpressions ( ) const

◆ FinishDestroy()

void UMaterial::FinishDestroy ( )
overridevirtual

Called to finish destroying the object. After UObject::FinishDestroy is called, the object's memory should no longer be accessed.

Warning
Because properties are destroyed here, Super::FinishDestroy() should always be called at the end of your child class's FinishDestroy() method, rather than at the beginning.

Reimplemented from UMaterialInterface.

◆ GetAssetRegistryTags()

void UMaterial::GetAssetRegistryTags ( FAssetRegistryTagsContext  Context) const
overridevirtual

Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

Parameters
OutTagsA list of key-value pairs associated with this object and their types

Reimplemented from UObject.

◆ GetBlendableLocation()

EBlendableLocation UMaterial::GetBlendableLocation ( const UMaterial Base) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetBlendablePriority()

int32 UMaterial::GetBlendablePriority ( const UMaterial Base) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetBlendMode()

EBlendMode UMaterial::GetBlendMode ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetBlendModeFromString()

EBlendMode UMaterial::GetBlendModeFromString ( const TCHAR InBlendModeStr)
static

◆ GetBlendModeString()

const TCHAR * UMaterial::GetBlendModeString ( EBlendMode  InBlendMode)
static

◆ GetCastDynamicShadowAsMasked()

bool UMaterial::GetCastDynamicShadowAsMasked ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetDefaultMaterial()

UMaterial * UMaterial::GetDefaultMaterial ( EMaterialDomain  Domain)
static

Return the default material, loading it if necessary

◆ GetDependencies()

void UMaterial::GetDependencies ( TSet< UMaterialInterface * > &  Dependencies)
overridevirtual

◆ GetDisplacementFadeRange()

FDisplacementFadeRange UMaterial::GetDisplacementFadeRange ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetDisplacementScaling()

FDisplacementScaling UMaterial::GetDisplacementScaling ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetLightingGuidChain()

void UMaterial::GetLightingGuidChain ( bool  bIncludeTextures,
TArray< FGuid > &  OutGuids 
) const
overridevirtual

Returns all the Guids related to this material. For material instances, this includes the parent hierarchy. Used for versioning as parent changes don't update the child instance Guids.

Parameters
bIncludeTexturesWhether to include the referenced texture Guids.
OutGuidsThe list of all resource guids affecting the precomputed lighting system and texture streamer.

Reimplemented from UMaterialInterface.

◆ GetMaterial() [1/2]

const UMaterial * UMaterial::GetMaterial ( ) const
overridevirtual

◆ GetMaterial() [2/2]

UMaterial * UMaterial::GetMaterial ( )
overridevirtual

◆ GetMaterial_Concurrent()

const UMaterial * UMaterial::GetMaterial_Concurrent ( TMicRecursionGuard  RecursionGuard = TMicRecursionGuard()) const
overridevirtual

◆ GetMaterialDecalResponse()

uint32 UMaterial::GetMaterialDecalResponse ( ) const
inline

Returns the material's decal response mode

◆ GetMaterialInheritanceChain()

void UMaterial::GetMaterialInheritanceChain ( FMaterialInheritanceChain OutChain) const
overridevirtual

◆ GetMaterialLayers()

bool UMaterial::GetMaterialLayers ( FMaterialLayersFunctions OutLayers,
TMicRecursionGuard  RecursionGuard = TMicRecursionGuard() 
) const
overridevirtual

◆ GetMaterialResource() [1/2]

const FMaterialResource * UMaterial::GetMaterialResource ( EShaderPlatform  InShaderPlatform,
EMaterialQualityLevel::Type  QualityLevel = EMaterialQualityLevel::Num 
) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetMaterialResource() [2/2]

FMaterialResource * UMaterial::GetMaterialResource ( EShaderPlatform  InShaderPlatform,
EMaterialQualityLevel::Type  QualityLevel = EMaterialQualityLevel::Num 
)
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetMaterialShadingModelFromString()

EMaterialShadingModel UMaterial::GetMaterialShadingModelFromString ( const TCHAR InMaterialShadingModelStr)
static

◆ GetMaterialShadingModelString()

const TCHAR * UMaterial::GetMaterialShadingModelString ( EMaterialShadingModel  InMaterialShadingModel)
static

◆ GetMaxWorldPositionOffsetDisplacement()

float UMaterial::GetMaxWorldPositionOffsetDisplacement ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetNaniteOverride()

UMaterialInterface * UMaterial::GetNaniteOverride ( TMicRecursionGuard  RecursionGuard = TMicRecursionGuard()) const
overridevirtual

◆ GetNeuralProfile_Internal()

UNeuralProfile * UMaterial::GetNeuralProfile_Internal ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetOpacityMaskClipValue()

float UMaterial::GetOpacityMaskClipValue ( ) const
overridevirtual

Access to overridable properties of the base material.

Reimplemented from UMaterialInterface.

◆ GetParameterValue()

bool UMaterial::GetParameterValue ( EMaterialParameterType  Type,
const FMemoryImageMaterialParameterInfo ParameterInfo,
FMaterialParameterMetadata OutValue,
EMaterialGetParameterValueFlags  Flags = EMaterialGetParameterValueFlags::Default 
) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetPhysicalMaterial()

UPhysicalMaterial * UMaterial::GetPhysicalMaterial ( ) const
overridevirtual

◆ GetPhysicalMaterialFromMap()

UPhysicalMaterial * UMaterial::GetPhysicalMaterialFromMap ( int32  Index) const
overridevirtual

◆ GetPhysicalMaterialMask()

UPhysicalMaterialMask * UMaterial::GetPhysicalMaterialMask ( ) const
overridevirtual

◆ GetRefractionSettings()

bool UMaterial::GetRefractionSettings ( float OutBiasValue) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetRenderProxy()

FMaterialRenderProxy * UMaterial::GetRenderProxy ( ) const
overridevirtual

◆ GetRenderTracePhysicalMaterialOutputs()

TArrayView< const TObjectPtr< UPhysicalMaterial > > UMaterial::GetRenderTracePhysicalMaterialOutputs ( ) const

Return the array of physical materials associated with the RenderTrace material outputs.

Returns
The physical material array.

◆ GetResourceSizeEx()

void UMaterial::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)
overridevirtual

Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific).

Parameters
CumulativeResourceSizeStruct used to count up the cumulative size of the resource as to be displayed to artists/LDs in the Editor.

Reimplemented from UObject.

◆ GetShadingModels()

FMaterialShadingModelField UMaterial::GetShadingModels ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetSpecularProfile_Internal()

USpecularProfile * UMaterial::GetSpecularProfile_Internal ( uint32  Index) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetSubsurfaceProfile_Internal()

USubsurfaceProfile * UMaterial::GetSubsurfaceProfile_Internal ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetSubsurfaceProfileOverride_Internal()

USubsurfaceProfile * UMaterial::GetSubsurfaceProfileOverride_Internal ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetSubsurfaceProfileRoot_Internal() [1/2]

USubsurfaceProfile * UMaterial::GetSubsurfaceProfileRoot_Internal ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetSubsurfaceProfileRoot_Internal() [2/2]

USubsurfaceProfile * UMaterial::GetSubsurfaceProfileRoot_Internal ( uint32  Index) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ GetUsageByFlag()

bool UMaterial::GetUsageByFlag ( const EMaterialUsage  Usage) const
Returns
the value associated with the given usage flag.

◆ GetUsageName()

FString UMaterial::GetUsageName ( const EMaterialUsage  Usage) const
Returns
the name of the given usage flag.

◆ GetUsedTextures()

void UMaterial::GetUsedTextures ( TArray< UTexture * > &  OutTextures,
TOptional< EMaterialQualityLevel::Type InSpecificQualityLevel = TOptional<EMaterialQualityLevel::Type>(),
TOptional< EShaderPlatform InSpecificShaderPlatform = TOptional<EShaderPlatform>() 
) const
overridevirtual

◆ GetUsedTexturesAndIndices()

void UMaterial::GetUsedTexturesAndIndices ( TArray< UTexture * > &  OutTextures,
TArray< TArray< int32 > > &  OutIndices,
EMaterialQualityLevel::Type  QualityLevel,
EShaderPlatform  InShaderPlatform 
) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ HasAmbientOcclusionConnected()

bool UMaterial::HasAmbientOcclusionConnected ( ) const

◆ HasAnisotropyConnected()

bool UMaterial::HasAnisotropyConnected ( ) const

◆ HasBaseColorConnected()

bool UMaterial::HasBaseColorConnected ( ) const

◆ HasCustomizedUVs()

bool UMaterial::HasCustomizedUVs ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ HasCustomPrimitiveData()

bool UMaterial::HasCustomPrimitiveData ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ HasDisplacementConnected()

bool UMaterial::HasDisplacementConnected ( ) const

◆ HasEmissiveColorConnected()

bool UMaterial::HasEmissiveColorConnected ( ) const

◆ HasMeshPaintTexture()

bool UMaterial::HasMeshPaintTexture ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ HasMetallicConnected()

bool UMaterial::HasMetallicConnected ( ) const

◆ HasNormalConnected()

bool UMaterial::HasNormalConnected ( ) const

◆ HasPixelAnimation()

bool UMaterial::HasPixelAnimation ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ HasPixelDepthOffsetConnected()

bool UMaterial::HasPixelDepthOffsetConnected ( ) const

◆ HasRoughnessConnected()

bool UMaterial::HasRoughnessConnected ( ) const

◆ HasSpecularConnected()

bool UMaterial::HasSpecularConnected ( ) const

◆ HasSubstrateFrontMaterialConnected()

bool UMaterial::HasSubstrateFrontMaterialConnected ( ) const

◆ HasSubstrateRoughnessTracking()

bool UMaterial::HasSubstrateRoughnessTracking ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ HasSurfaceThicknessConnected()

bool UMaterial::HasSurfaceThicknessConnected ( ) const

◆ HasVertexInterpolator()

bool UMaterial::HasVertexInterpolator ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ HasVertexPositionOffsetConnected()

bool UMaterial::HasVertexPositionOffsetConnected ( ) const

◆ IsCompatibleWithLumenCardSharing()

bool UMaterial::IsCompatibleWithLumenCardSharing ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsCompilingOrHadCompileError() [1/2]

bool UMaterial::IsCompilingOrHadCompileError ( ERHIFeatureLevel::Type  InFeatureLevel)

◆ IsCompilingOrHadCompileError() [2/2]

bool UMaterial::IsCompilingOrHadCompileError ( EShaderPlatform  InShaderPlatform)

Useful to customize rendering if that case (e.g. hide the object)

◆ IsComplete()

bool UMaterial::IsComplete ( ) const
overridevirtual

Checks to see if this material has all its shaders cached.

Materials are not guaranteed to have all their shaders compiled after loading. It can be useful to check for completeness in order to cache remaining shaders.

Returns
Whether or not all shaders for this material exist.
See also
CacheShaders
Note
This function will return true if the resources are not cache for this material yet.

Reimplemented from UMaterialInterface.

◆ IsDefaultMaterial()

bool UMaterial::IsDefaultMaterial ( ) const

Returns true if the material is one of the default materials.

◆ IsDeferredDecal()

bool UMaterial::IsDeferredDecal ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsDisplacementFadeEnabled()

bool UMaterial::IsDisplacementFadeEnabled ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsDitheredLODTransition()

bool UMaterial::IsDitheredLODTransition ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsMasked()

bool UMaterial::IsMasked ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsMobileSeparateTranslucencyEnabled()

bool UMaterial::IsMobileSeparateTranslucencyEnabled ( ) const

◆ IsPostProcessMaterial()

bool UMaterial::IsPostProcessMaterial ( ) const
virtual

Reimplemented from UMaterialInterface.

◆ IsPostProcessMaterialOutputingAlpha()

bool UMaterial::IsPostProcessMaterialOutputingAlpha ( ) const

◆ IsPropertyActive()

bool UMaterial::IsPropertyActive ( EMaterialProperty  InProperty) const
overridevirtual

Checks to see if an input property should be active, based on the state of the material

Reimplemented from UMaterialInterface.

◆ IsPropertyActiveInDerived()

bool UMaterial::IsPropertyActiveInDerived ( EMaterialProperty  InProperty,
const UMaterialInterface DerivedMaterial 
) const

Like IsPropertyActive(), but considers any state overriden by DerivedMaterial

◆ IsPropertyConnected()

bool UMaterial::IsPropertyConnected ( EMaterialProperty  Property) const

◆ IsPropertyRelevantForMobile()

bool UMaterial::IsPropertyRelevantForMobile ( EMaterialProperty  InProperty)
static

Returns true if the material property is relevant for mobile platforms

◆ IsPropertySupported()

bool UMaterial::IsPropertySupported ( EMaterialProperty  InProperty) const

◆ IsReadyForFinishDestroy()

bool UMaterial::IsReadyForFinishDestroy ( )
overridevirtual

Called to check if the object is ready for FinishDestroy. This is called after BeginDestroy to check the completion of the potentially asynchronous object cleanup.

Returns
True if the object's asynchronous cleanup has completed and it is ready for FinishDestroy to be called.

Reimplemented from UMaterialInterface.

◆ IsShadingModelFromMaterialExpression()

bool UMaterial::IsShadingModelFromMaterialExpression ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsTessellationEnabled()

bool UMaterial::IsTessellationEnabled ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsThinSurface()

bool UMaterial::IsThinSurface ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsTranslucencyVelocityFromDepth()

bool UMaterial::IsTranslucencyVelocityFromDepth ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsTranslucencyWritingCustomDepth()

bool UMaterial::IsTranslucencyWritingCustomDepth ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsTranslucencyWritingFrontLayerTransparency()

bool UMaterial::IsTranslucencyWritingFrontLayerTransparency ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsTranslucencyWritingVelocity()

bool UMaterial::IsTranslucencyWritingVelocity ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsTwoSided()

bool UMaterial::IsTwoSided ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ IsUIMaterial()

bool UMaterial::IsUIMaterial ( ) const
virtual

Reimplemented from UMaterialInterface.

◆ IsUsageFlagDirty()

bool UMaterial::IsUsageFlagDirty ( EMaterialUsage  Usage)

Checks to see if the Usage flag has an annotation marking it as needing to be saved

◆ LogMaterialsAndTextures()

void UMaterial::LogMaterialsAndTextures ( FOutputDevice Ar,
int32  Indent 
) const
overridevirtual

Output to the log which materials and textures are used by this material.

Parameters
IndentNumber of tabs to put before the log.

Reimplemented from UMaterialInterface.

◆ NeedsSetMaterialUsage_Concurrent()

bool UMaterial::NeedsSetMaterialUsage_Concurrent ( bool bOutHasUsage,
const EMaterialUsage  Usage 
) const

Tests to see if this material needs a usage flag update

Parameters
Usage- The usage flag to set
bOutHasUsage- if we don't need to call SMU, then this is what SMU would have returned
Returns
bool - true if we need to call SetMaterialUsage

◆ NumSpecularProfile_Internal()

uint32 UMaterial::NumSpecularProfile_Internal ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ NumSubsurfaceProfileRoot_Internal()

uint32 UMaterial::NumSubsurfaceProfileRoot_Internal ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ OverrideTexture()

void UMaterial::OverrideTexture ( const UTexture InTextureToOverride,
UTexture OverrideTexture,
ERHIFeatureLevel::Type  InFeatureLevel 
)
overridevirtual

◆ PostDuplicate()

void UMaterial::PostDuplicate ( bool  bDuplicateForPIE)
overridevirtual

Called after duplication & serialization and before PostLoad. Used to e.g. make sure UStaticMesh's UModel gets copied as well. Note: NOT called on components on actor duplication (alt-drag or copy-paste). Use PostEditImport as well to cover that case.

Reimplemented from UMaterialInterface.

◆ PostEditChangePropertyInternal()

ENGINE_API void UMaterial::PostEditChangePropertyInternal ( FPropertyChangedEvent PropertyChangedEvent,
const EPostEditChangeEffectOnShaders  EffectOnShaders 
)

◆ PostInitProperties()

void UMaterial::PostInitProperties ( )
overridevirtual

Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

Reimplemented from UMaterialInterface.

◆ PostLoad()

void UMaterial::PostLoad ( )
overridevirtual

Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

Reimplemented from UMaterialInterface.

◆ PrecachePSOs()

FGraphEventArray UMaterial::PrecachePSOs ( const FPSOPrecacheVertexFactoryDataList VertexFactoryDataList,
const FPSOPrecacheParams PreCacheParams,
EPSOPrecachePriority  Priority,
TArray< FMaterialPSOPrecacheRequestID > &  OutMaterialPSORequestIDs 
)
overridevirtual

◆ PreSave()

void UMaterial::PreSave ( FObjectPreSaveContext  SaveContext)
overridevirtual

Presave function. Gets called once before an object gets serialized for saving. This function is necessary for save time computation as Serialize gets called three times per object from within SavePackage.

Warning
: Objects created from within PreSave will NOT have PreSave called on them!!!

Reimplemented from UMaterialInterface.

◆ RecacheUniformExpressions()

void UMaterial::RecacheUniformExpressions ( bool  bRecreateUniformBuffer) const
overridevirtual

Re-caches uniform expressions for this material interface
Set bRecreateUniformBuffer to true if uniform buffer layout will change (e.g. FMaterial is being recompiled). In that case calling needs to use FMaterialUpdateContext to recreate the rendering state of primitives using this material.

Parameters
bRecreateUniformBuffer- true forces uniform buffer recreation.

Reimplemented from UMaterialInterface.

◆ ReleaseResources()

void UMaterial::ReleaseResources ( )

Releases rendering resources used by this material. This should only be called directly if the material will not be deleted through the GC system afterward. FlushRenderingCommands() must have been called before this.

◆ SaveShaderStableKeys()

void UMaterial::SaveShaderStableKeys ( const class ITargetPlatform TP)

◆ SaveShaderStableKeysInner()

void UMaterial::SaveShaderStableKeysInner ( const class ITargetPlatform TP,
const struct FStableShaderKeyAndValue SaveKeyVal 
)
overridevirtual

◆ Serialize()

void UMaterial::Serialize ( FArchive Ar)
overridevirtual

Handles reading, writing, and reference collecting using FArchive. This implementation handles all FProperty serialization, but can be overridden for native variables.

Reimplemented from UMaterialInterface.

◆ SetMaterialUsage()

bool UMaterial::SetMaterialUsage ( bool bNeedsRecompile,
const EMaterialUsage  Usage,
UMaterialInterface MaterialInstance = nullptr 
)

Set the given usage flag.

Parameters
bNeedsRecompile- true if the material was recompiled for the usage change
Usage- The usage flag to set
MaterialInstance- MI requesting the usage (as of now usage flags are only stored in the parent)
Returns
bool - true if the material can be used for rendering with the given type.

◆ SetNumericParameterDefault()

void UMaterial::SetNumericParameterDefault ( EMaterialParameterType  Type,
const FHashedMaterialParameterInfo ParameterInfo,
const UE::Shader::FValue Value,
EShaderPlatform  InShaderPlatform 
)
overridevirtual

◆ SetRenderTracePhysicalMaterialOutputs()

void UMaterial::SetRenderTracePhysicalMaterialOutputs ( TArrayView< TObjectPtr< UPhysicalMaterial > >  PhysicalMaterials)

Set the array of physical materials associated with the RenderTrace material outputs.

◆ SetShadingModel()

void UMaterial::SetShadingModel ( EMaterialShadingModel  NewModel)

◆ ShouldAlwaysEvaluateWorldPositionOffset()

bool UMaterial::ShouldAlwaysEvaluateWorldPositionOffset ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

◆ StartCacheUniformExpressions()

void UMaterial::StartCacheUniformExpressions ( ) const

Tracking of in-flight uniform expression cache update operations for the DefaultMaterialInstance, for thread safety destroying the resource.

◆ UpdateLightmassTextureTracking()

bool UMaterial::UpdateLightmassTextureTracking ( )
overridevirtual

Check if the textures have changed since the last time the material was serialized for Lightmass... Update the lists while in here. NOTE: This will mark the package dirty if they have changed.

Returns
bool true if the textures have changed. false if they have not.

Reimplemented from UMaterialInterface.

◆ UpdateMaterialShaders()

void UMaterial::UpdateMaterialShaders ( TArray< const FShaderType * > &  ShaderTypesToFlush,
TArray< const FShaderPipelineType * > &  ShaderPipelineTypesToFlush,
TArray< const FVertexFactoryType * > &  VFTypesToFlush,
EShaderPlatform  ShaderPlatform 
)
static

Go through every material, flush the specified types and re-initialize the material's shader maps.

◆ WritesToRuntimeVirtualTexture()

bool UMaterial::WritesToRuntimeVirtualTexture ( ) const
overridevirtual

Reimplemented from UMaterialInterface.

Friends And Related Symbol Documentation

◆ FLightmassMaterialProxy

friend class FLightmassMaterialProxy
friend

◆ FMaterialDetailCustomization

friend class FMaterialDetailCustomization
friend

◆ FMaterialEditor

friend class FMaterialEditor
friend

◆ FMaterialResource

friend class FMaterialResource
friend

◆ FMaterialUpdateContext

Class that knows how to update Materials

Member Data Documentation

◆ AllowTranslucentCustomDepthWrites

uint8 UMaterial::AllowTranslucentCustomDepthWrites

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

◆ bAllowDevelopmentShaderCompile

uint8 UMaterial::bAllowDevelopmentShaderCompile

If true the compilation environment will be changed to remove the global COMPILE_SHADERS_FOR_DEVELOPMENT flag.

◆ bAllowFrontLayerTranslucency

uint8 UMaterial::bAllowFrontLayerTranslucency

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.

◆ bAllowNegativeEmissiveColor

uint8 UMaterial::bAllowNegativeEmissiveColor

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

◆ bAllowTranslucentLocalLightShadow

uint8 UMaterial::bAllowTranslucentLocalLightShadow

Allows a translucent material to receive local light shadows.

◆ bAllowVariableRateShading

uint8 UMaterial::bAllowVariableRateShading

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

◆ bAlwaysEvaluateWorldPositionOffset

bool UMaterial::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".

◆ bApplyCloudFogging

uint8 UMaterial::bApplyCloudFogging

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.

◆ bAutomaticallySetUsageInEditor

uint8 UMaterial::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.

◆ bCanMaskedBeAssumedOpaque

uint8 UMaterial::bCanMaskedBeAssumedOpaque

true if this Material can be assumed Opaque when set to masked.

◆ bCastDynamicShadowAsMasked

uint8 UMaterial::bCastDynamicShadowAsMasked

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

◆ bCastRayTracedShadows

uint8 UMaterial::bCastRayTracedShadows

when true, the material casts ray tracing shadows.

◆ bCompatibleWithLumenCardSharing

uint8 UMaterial::bCompatibleWithLumenCardSharing

When true, allows to share Lumen Cards between different instances even when material uses world position or per instance data, which may change material look per instance. All materials on a component needs this flag set for sharing to work.

◆ bComputeFogPerPixel

uint8 UMaterial::bComputeFogPerPixel

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

◆ bContactShadows

uint8 UMaterial::bContactShadows

Contact shadows on translucency

◆ bDisableDepthTest

uint8 UMaterial::bDisableDepthTest

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

◆ bDisablePreExposureScale

uint8 UMaterial::bDisablePreExposureScale

Disable pre-exposure scale in post process materials (multiply by View.OneOverPreExposure on inputs, View.PreExposure on output). Useful for materials that don't care about the absolute intensity of SceneColor (for example, a blur), simplifying custom HLSL and saving some performance. Or useful for non-color UserSceneTextures (for example, mask, matte, modulation, offset, or ID textures), where pre-exposure scale is undesirable. Pre-exposure scale can be manually reapplied via custom HLSL if needed on specific inputs or the output.

◆ bEnableDisplacementFade

uint8 UMaterial::bEnableDisplacementFade

Enables fading out and disabling of dynamic displacement in the distance, as displacement becomes unnoticeable

◆ bEnableExecWire

uint8 UMaterial::bEnableExecWire

◆ bEnableMobileSeparateTranslucency

uint8 UMaterial::bEnableMobileSeparateTranslucency

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

◆ bEnableNewHLSLGenerator

uint8 UMaterial::bEnableNewHLSLGenerator

◆ bEnableResponsiveAA

uint8 UMaterial::bEnableResponsiveAA

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.

◆ bEnableStencilTest

uint8 UMaterial::bEnableStencilTest

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.

◆ bEnableTessellation

uint8 UMaterial::bEnableTessellation

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

◆ bForceCompatibleWithLightFunctionAtlas

uint8 UMaterial::bForceCompatibleWithLightFunctionAtlas

Indicates that this material is safe to use with the light function atlas:

  • texture coordinates are manipulated in a way that works.
  • world position and depth are not used in the graph or do work with the atlas. Forces all deferred lights to go the fast batched lighting code path (no screen shadow mask).

◆ bForwardBlendsSkyLightCubemaps

uint8 UMaterial::bForwardBlendsSkyLightCubemaps

◆ bForwardRenderUsePreintegratedGFForSimpleIBL

uint32 UMaterial::bForwardRenderUsePreintegratedGFForSimpleIBL

◆ bFullyRough

uint8 UMaterial::bFullyRough

◆ bGenerateSphericalParticleNormals

uint8 UMaterial::bGenerateSphericalParticleNormals

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

◆ bHasPixelAnimation

uint8 UMaterial::bHasPixelAnimation

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.

◆ bIsBlendable

uint8 UMaterial::bIsBlendable

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

◆ bIsFunctionPreviewMaterial

uint8 UMaterial::bIsFunctionPreviewMaterial

true if Material is the function preview material used in the material instance editor.

◆ bIsMasked_DEPRECATED

uint8 UMaterial::bIsMasked_DEPRECATED

true if Material is masked and uses custom opacity

◆ bIsMaterialEditorStatsMaterial

uint8 UMaterial::bIsMaterialEditorStatsMaterial

true if this is a special material used for stats by the material editor.

◆ bIsPreviewMaterial

uint8 UMaterial::bIsPreviewMaterial

true if Material is the preview material used in the material editor.

◆ bIsSky

uint8 UMaterial::bIsSky

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.

◆ bIsThinSurface

uint8 UMaterial::bIsThinSurface

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.

◆ bIsTranslucencyVelocityFromDepth

uint8 UMaterial::bIsTranslucencyVelocityFromDepth

When true, translucent materials that write velocity will calculate it only based on the written depth and camera movement. This can be useful for translucent volume raycasts which write pixel depth offset and want to calculate velocity based on the output depth.

◆ BlendableLocation

TEnumAsByte<EBlendableLocation> UMaterial::BlendableLocation

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

◆ BlendableOutputAlpha

uint8 UMaterial::BlendableOutputAlpha

If this is enabled, the blendable will output alpha

◆ BlendablePriority

int32 UMaterial::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

◆ bNormalCurvatureToRoughness

uint8 UMaterial::bNormalCurvatureToRoughness

◆ bOutputTranslucentVelocity

uint8 UMaterial::bOutputTranslucentVelocity

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

◆ bRelaxRuntimeVirtualTextureRestrictions

uint8 UMaterial::bRelaxRuntimeVirtualTextureRestrictions

Relax restrictions on Runtime Virtual Texture output compilation. Normally we give a compilation error whenever a Runtime Virtual Texture Output reads from a Virtual Texture. This is because there is no feedback from Runtime Virtual Texture Output passes and no guarantee that Virtual Textures will be ready. If allowed then Runtime Virtual Texture pages can contain stale low resolution data that is not evicted until the pages are flushed.

◆ bRelaxRuntimeVirtualTextureRestrictionsForOldContent

uint8 UMaterial::bRelaxRuntimeVirtualTextureRestrictionsForOldContent

◆ bRootNodeOverridesDefaultDistortion_DEPRECATED

uint8 UMaterial::bRootNodeOverridesDefaultDistortion_DEPRECATED

Indicates that the material do not use the material physically based refraction (e.g. IOR from reflectivity F0), but overrides it for artistic purposes.

◆ bScreenSpaceReflections

uint8 UMaterial::bScreenSpaceReflections

SSR on translucency

◆ bSubstrateRoughnessTracking

uint8 UMaterial::bSubstrateRoughnessTracking

This can be used to disable roughness tracking. When this is done, top layers roughness will no longer impact bottom layer roughness.

◆ bTangentSpaceNormal

uint8 UMaterial::bTangentSpaceNormal

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

◆ bUseAlphaToCoverage

uint8 UMaterial::bUseAlphaToCoverage

◆ bUsedAsSpecialEngineMaterial

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category=Material, meta=(DisplayName = "Emissive (Dynamic Area Light)"), AdvancedDisplay) uint8 bUseEmissiveForDynamicAreaLighting uint8 UMaterial::bUsedAsSpecialEngineMaterial

If enabled, the material's emissive colour is injected into the LightPropagationVolume This is a special usage flag that allows a material to be assignable to any primitive type. This is useful for materials used by code to implement certain viewmodes, for example the default material or lighting only material. The cost is that nearly 20x more shaders will be compiled for the material than the average material, which will greatly increase shader compile time and memory usage. This flag should only be enabled when absolutely necessary, and is purposefully not exposed to the UI to prevent abuse.

◆ bUsedWithBeamTrails

uint8 UMaterial::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

uint8 UMaterial::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

uint8 UMaterial::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

uint8 UMaterial::bUsedWithGeometryCache

◆ bUsedWithGeometryCollections

uint8 UMaterial::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

uint32 UMaterial::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

uint32 UMaterial::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

uint8 UMaterial::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

uint32 UMaterial::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

uint8 UMaterial::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

uint8 UMaterial::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

uint32 UMaterial::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.

◆ bUsedWithNeuralNetworks

uint8 UMaterial::bUsedWithNeuralNetworks

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.

◆ bUsedWithNiagaraMeshParticles

uint8 UMaterial::bUsedWithNiagaraMeshParticles

◆ bUsedWithNiagaraRibbons

uint8 UMaterial::bUsedWithNiagaraRibbons

◆ bUsedWithNiagaraSprites

uint8 UMaterial::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

uint8 UMaterial::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

uint8 UMaterial::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

uint8 UMaterial::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

uint8 UMaterial::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.

◆ bUsedWithStaticMesh

uint32 UMaterial::bUsedWithStaticMesh

Indicates that the material and its instances can be used on StaticMeshes, which is true by default on all Materials This can be used to remove shaders which are not required, reducing shader compile time and memory usage

◆ bUsedWithUI_DEPRECATED

uint8 UMaterial::bUsedWithUI_DEPRECATED

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

◆ bUsedWithVirtualHeightfieldMesh

uint32 UMaterial::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

uint32 UMaterial::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.

◆ bUsedWithVoxels

uint8 UMaterial::bUsedWithVoxels

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

◆ bUsedWithWater

uint32 UMaterial::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.

◆ bUseFullPrecision_DEPRECATED

uint8 UMaterial::bUseFullPrecision_DEPRECATED

Deprecated. Use FloatPrecisionMode instead. Forces this material to use full (highp) precision in the pixel shader. This is slower than the default (mediump) but can be used to work around precision-related rendering errors. This setting has no effect on older mobile devices that do not support high precision.

◆ bUseHQForwardReflections

uint8 UMaterial::bUseHQForwardReflections

◆ bUseLightmapDirectionality

uint8 UMaterial::bUseLightmapDirectionality

◆ bUseMaterialAttributes

uint8 UMaterial::bUseMaterialAttributes

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

◆ bUsePlanarForwardReflections

uint8 UMaterial::bUsePlanarForwardReflections

◆ bUsesDistortion

uint8 UMaterial::bUsesDistortion

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

◆ bUseTranslucencyVertexFog

uint8 UMaterial::bUseTranslucencyVertexFog

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

◆ bWriteOnlyAlpha

uint8 UMaterial::bWriteOnlyAlpha

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

◆ DefaultMaterialInstance

class FDefaultMaterialInstance* UMaterial::DefaultMaterialInstance

FMaterialRenderProxy derivative that represent this material to the renderer, when the renderer needs to fetch parameter values.

◆ DitheredLODTransition

uint8 UMaterial::DitheredLODTransition

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

◆ DitherOpacityMask

uint8 UMaterial::DitherOpacityMask

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

◆ FloatPrecisionMode

TEnumAsByte<EMaterialFloatPrecisionMode> UMaterial::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.

◆ MaxWorldPositionOffsetDisplacement

float UMaterial::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.

◆ NeuralProfileId

int8 UMaterial::NeuralProfileId = INDEX_NONE

Set by reference object cannot be modified.

◆ NumCustomizedUVs

int32 UMaterial::NumCustomizedUVs

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

◆ OpacityMaskClipValue

float UMaterial::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.

◆ PixelDepthOffsetMode

TEnumAsByte<EPixelDepthOffsetMode> UMaterial::PixelDepthOffsetMode

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

◆ PreshaderGap

uint16 UMaterial::PreshaderGap

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

◆ RefractionCoverageMode

TEnumAsByte<ERefractionCoverageMode> UMaterial::RefractionCoverageMode

Controls whether refraction takes into account the material surface coverage, or not. This is only for when substrate FrontMaterial is plugged in, not legacy root node material for the sake of compatibility.

◆ RefractionDepthBias

float UMaterial::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

TEnumAsByte<ERefractionMode> UMaterial::RefractionMethod

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

◆ RefractionMode_DEPRECATED

TEnumAsByte<ERefractionMode> UMaterial::RefractionMode_DEPRECATED

◆ ResolutionRelativeToInput

FName UMaterial::ResolutionRelativeToInput

Set output resolution relative to the given User Scene Texture input. Negative User Texture Divisors upsample (clamped at full resolution).

◆ ShadingRate

TEnumAsByte<EMaterialShadingRate> UMaterial::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.

◆ StateId

FGuid UMaterial::StateId

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

◆ StencilCompare

TEnumAsByte<EMaterialStencilCompare> UMaterial::StencilCompare

◆ StencilRefValue

uint8 UMaterial::StencilRefValue = 0

◆ SubstrateCompilationConfig

FSubstrateCompilationConfig UMaterial::SubstrateCompilationConfig

Not a UPROPERTY, used to propagate editor only Substrate material simplification options for preview.

◆ TranslucencyDirectionalLightingIntensity

float UMaterial::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

TEnumAsByte<ETranslucencyLightingMode> UMaterial::TranslucencyLightingMode

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

◆ TranslucencyPass

TEnumAsByte<EMaterialTranslucencyPass> UMaterial::TranslucencyPass

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

◆ TranslucentBackscatteringExponent

float UMaterial::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.

◆ TranslucentDirectionalLightShadowQuality

float UMaterial::TranslucentDirectionalLightShadowQuality = 0

Set directional light shadow quality received by translucent material.

◆ TranslucentLocalLightShadowQuality

float UMaterial::TranslucentLocalLightShadowQuality = 0

Set local light shadow quality received by translucent material.

◆ TranslucentMultipleScatteringExtinction

FLinearColor UMaterial::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

float UMaterial::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

float UMaterial::TranslucentSelfShadowSecondDensityScale

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

◆ TranslucentSelfShadowSecondOpacity

float UMaterial::TranslucentSelfShadowSecondOpacity

Controls the strength of the second self shadow gradient.

◆ TranslucentShadowDensityScale

float UMaterial::TranslucentShadowDensityScale

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

◆ TranslucentShadowStartOffset

float UMaterial::TranslucentShadowStartOffset

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

◆ TwoSided

uint8 UMaterial::TwoSided

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

◆ UsageFlagCacheMiss

std::atomic<uint32> UMaterial::UsageFlagCacheMiss {0u}
mutable

◆ UsageFlagWarnings

uint32 UMaterial::UsageFlagWarnings

true if we have printed a warning about material usage for a given usage flag.

◆ UserSceneTexture

FName UMaterial::UserSceneTexture

Specify a user generated scene texture as output, overriding the default output implied by "Blendable Location", only used if domain is PostProcess

◆ UserTextureDivisor

FIntPoint UMaterial::UserTextureDivisor = FIntPoint(0, 0)

A divisor for the resolution of the User Scene Texture above, allowing an intermediate with reduced resolution

◆ Wireframe

uint8 UMaterial::Wireframe

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


The documentation for this class was generated from the following files: