UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ShaderPlatformQualitySettings.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UObject/Object.h"
8#include "SceneTypes.h"
9#include "ShaderPlatformQualitySettings.generated.h"
10
12
16UENUM()
18{
19 // Lowest quality, no filtering.
21 // Medium quality, 1x1 PCF filtering.
22 PCF_1x1 UMETA(DisplayName = "1x1 PCF"),
23 // Medium/High quality, 3x3 PCF filtering.
24 PCF_3x3 UMETA(DisplayName = "3x3 PCF"),
25 // Highest quality, 5x5 PCF filtering.
26 PCF_5x5 UMETA(DisplayName = "5x5 PCF")
27};
28
29// FMaterialQualityOverrides represents the full set of possible material overrides per quality level.
30USTRUCT()
32{
33public:
35
37 : bDiscardQualityDuringCook(false)
38 , bEnableOverride(false)
39 , bForceFullyRough(false)
40 , bForceNonMetal(false)
41 , bForceDisableLMDirectionality(false)
42 , bForceDisablePreintegratedGF(false)
43 , bDisableMaterialNormalCalculation(false)
44 , MobileShadowQuality(EMobileShadowQuality::PCF_3x3)
45 {
46 }
47
48 UPROPERTY(EditAnywhere, Config, Meta = (DisplayName = "Discard Quality During Cook"), Category = "Quality")
49 bool bDiscardQualityDuringCook;
50
51 UPROPERTY(EditAnywhere, Config, Meta = (DisplayName = "Enable Quality Override"), Category = "Quality")
52 bool bEnableOverride;
53
54 UPROPERTY(EditAnywhere, Config, Meta = (DisplayName = "Force Fully Rough"), Category = "Quality")
55 bool bForceFullyRough;
56
57 UPROPERTY(EditAnywhere, Config, Meta = (DisplayName = "Force Non-metal"), Category = "Quality")
58 bool bForceNonMetal;
59
60 UPROPERTY(EditAnywhere, Config, Meta = (DisplayName = "Disable Lightmap directionality"), Category = "Quality")
61 bool bForceDisableLMDirectionality;
62
63 UPROPERTY(EditAnywhere, Config, Meta = (DisplayName = "Force not use preintegrated GF for simple IBL"), Category = "Quality")
64 bool bForceDisablePreintegratedGF;
65
66 UPROPERTY(EditAnywhere, Config, Meta = (DisplayName = "Disable material normal calculation"), Category = "Quality")
67 bool bDisableMaterialNormalCalculation;
68
69 UPROPERTY(EditAnywhere, Config, Meta = (DisplayName = "Mobile shadow mapping quality"), Category = "Quality")
70 EMobileShadowQuality MobileShadowQuality;
71
72 MATERIALSHADERQUALITYSETTINGS_API bool CanOverride(EShaderPlatform ShaderPlatform) const;
73 MATERIALSHADERQUALITYSETTINGS_API bool HasAnyOverridesSet() const;
74};
75
76
77UCLASS(config = Engine, defaultconfig, perObjectConfig, MinimalAPI)
79{
80public:
82
83 UPROPERTY(EditAnywhere, Config, Category="Quality")
85
86 FMaterialQualityOverrides& GetQualityOverrides(EMaterialQualityLevel::Type QualityLevel)
87 {
89 return QualityOverrides[(int32)QualityLevel];
90 }
91
93 MATERIALSHADERQUALITYSETTINGS_API void BuildHash(EMaterialQualityLevel::Type QualityLevel, class FSHAHash& OutHash) const;
94 MATERIALSHADERQUALITYSETTINGS_API void AppendToHashState(EMaterialQualityLevel::Type QualityLevel, class FSHA1& HashState) const;
95
96 virtual const TCHAR* GetConfigOverridePlatform() const override
97 {
98 return ConfigPlatformName.IsEmpty() ? nullptr : *ConfigPlatformName;
99 }
100
102};
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Num
Definition MetalRHIPrivate.h:234
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
EShaderPlatform
Definition RHIShaderPlatform.h:11
EMobileShadowQuality
Definition ShaderPlatformQualitySettings.h:18
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition Engine.Build.cs:7
Definition SecureHash.h:314
Definition SecureHash.h:226
Definition Object.h:95
Definition ShaderPlatformQualitySettings.h:79
FString ConfigPlatformName
Definition ShaderPlatformQualitySettings.h:101
virtual const TCHAR * GetConfigOverridePlatform() const override
Definition ShaderPlatformQualitySettings.h:96
Definition DebugViewModeHelpers.h:17
Type
Definition SceneTypes.h:132
@ Num
Definition SceneTypes.h:137
@ false
Definition radaudio_common.h:23
Definition ShaderPlatformQualitySettings.h:32