UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ShowFlags.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 ShowFlags.h: Show Flag Definitions.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
11#include "EngineDefines.h"
12
32
41
42#if (UE_BUILD_SHIPPING && !WITH_EDITOR)
43 #define UE_BUILD_OPTIMIZED_SHOWFLAGS 1
44#else
45 #define UE_BUILD_OPTIMIZED_SHOWFLAGS 0
46#endif
47
56{
57 // ---------------------------------------------------------
58 // Define the showflags.
59 // A show flag is either an uint32:1 or static const bool (if optimized out according to UE_BUILD_OPTIMIZED_SHOWFLAGS)
60
61#if PLATFORM_USE_SHOWFLAGS_ALWAYS_BITFIELD
62 #define SHOWFLAG_ALWAYS_ACCESSIBLE(a,...) uint32 a : 1; void Set##a(bool bVal){ a = bVal ? 1:0; }
63#else
64 // broken bit field compilers will render the background black
65 #define SHOWFLAG_ALWAYS_ACCESSIBLE(a,...) bool a; void Set##a(bool bVal){ a = bVal; }
66#endif
67
68 #if UE_BUILD_OPTIMIZED_SHOWFLAGS
69 #if PLATFORM_USE_SHOWFLAGS_ALWAYS_BITFIELD
70 #define SHOWFLAG_FIXED_IN_SHIPPING(v,a,...) uint32 _padding_##a : 1; static const bool a = v; void Set##a(bool bVal){}
71 #else
72 #define SHOWFLAG_FIXED_IN_SHIPPING(v,a,...) bool _padding_##a; static const bool a = v; void Set##a(bool bVal){}
73 #endif
74 #else
75 #define SHOWFLAG_FIXED_IN_SHIPPING(v,a,b,c) SHOWFLAG_ALWAYS_ACCESSIBLE(a,b,c)
76 #endif
77
78 #include "ShowFlagsValues.inl"
79
80 // ---------------------------------------------------------
81 // Define an enum for all of the show flags.
82 // Useful for matching against indices.
83 #define SHOWFLAG_ALWAYS_ACCESSIBLE(a,...) SF_##a,
85 {
86 #include "ShowFlagsValues.inl"
88 };
89 // ---------------------------------------------------------
90
91 // Strong type for custom show flag indices starting from 0 to make interface clearer
93 {
94 First = 0, // ECustomShowFlag + SF_FirstCustom -> EShowFlag
95
96 None = 0xFFFFFFFF,
97 };
98
99 // NOTE: that the offset of this variable is used mark the end of the variables defined by ShowFlagsValues.inl, no other variables should be added before it.
101
102 // Delegate fired when a new custom show flag is registered or re-registered so other systems can iterate all show flags and update any related data
104
106 static bool FindShowFlagDisplayName(const FString& InName, FText& OutText)
107 {
109
110 if (LocNames.Num() == 0)
111 {
112 #define SHOWFLAG_ALWAYS_ACCESSIBLE(a,b,c) LocNames.Add( TEXT(PREPROCESSOR_TO_STRING(a)), c);
113 #define SHOWFLAG_FIXED_IN_SHIPPING(v,a,b,c) LocNames.Add( TEXT(PREPROCESSOR_TO_STRING(a)), c);
114 #include "ShowFlagsValues.inl"
115
116 // Additional strings that don't correspond to a showflag variable:
117 LocNames.Add(TEXT("BlockingVolume"), NSLOCTEXT("UnrealEd", "BlockingVolumeSF", "Blocking"));
118 LocNames.Add(TEXT("CullDistanceVolume"), NSLOCTEXT("UnrealEd", "CullDistanceVolumeSF", "Cull Distance"));
119 LocNames.Add(TEXT("LevelStreamingVolume"), NSLOCTEXT("UnrealEd", "LevelStreamingVolumeSF", "Level Streaming"));
120 LocNames.Add(TEXT("LightmassCharacterIndirectDetailVolume"), NSLOCTEXT("UnrealEd", "LightmassCharacterIndirectDetailVolumeSF", "Lightmass Character Indirect Detail"));
121 LocNames.Add(TEXT("LightmassImportanceVolume"), NSLOCTEXT("UnrealEd", "LightmassImportanceVolumeSF", "Lightmass Importance"));
122 LocNames.Add(TEXT("MassiveLODOverrideVolume"), NSLOCTEXT("UnrealEd", "MassiveLODOverrideVolumeSF", "Massive LOD Override"));
123 LocNames.Add(TEXT("NavMeshBoundsVolume"), NSLOCTEXT("UnrealEd", "NavMeshBoundsVolumeSF", "NavMesh Bounds"));
124 LocNames.Add(TEXT("NavModifierVolume"), NSLOCTEXT("UnrealEd", "NavModifierVolumeSF", "Nav Modifier"));
125 LocNames.Add(TEXT("PainCausingVolume"), NSLOCTEXT("UnrealEd", "PainCausingVolumeSF", "Pain Causing"));
126 LocNames.Add(TEXT("PhysicsVolume"), NSLOCTEXT("UnrealEd", "PhysicsVolumeSF", "Physics"));
127 LocNames.Add(TEXT("PostProcessVolume"), NSLOCTEXT("UnrealEd", "PostProcessVolumeSF", "Post Process"));
128 LocNames.Add(TEXT("PrecomputedVisibilityOverrideVolume"), NSLOCTEXT("UnrealEd", "PrecomputedVisibilityOverrideVolumeSF", "Precomputed Visibility Override"));
129 LocNames.Add(TEXT("PrecomputedVisibilityVolume"), NSLOCTEXT("UnrealEd", "PrecomputedVisibilityVolumeSF", "Precomputed Visibility"));
130 LocNames.Add(TEXT("AudioVolume"), NSLOCTEXT("UnrealEd", "AudioVolumeSF", "Audio"));
131 LocNames.Add(TEXT("TriggerVolume"), NSLOCTEXT("UnrealEd", "TriggerVolumeSF", "Trigger"));
132 LocNames.Add(TEXT("CameraBlockingVolume"), NSLOCTEXT("UnrealEd", "CameraBlockingVolumeSF", "Camera Blocking"));
133 LocNames.Add(TEXT("HierarchicalLODVolume"), NSLOCTEXT("UnrealEd", "HierarchicalLODVolumeSF", "Hierarchical LOD"));
134 LocNames.Add(TEXT("KillZVolume"), NSLOCTEXT("UnrealEd", "KillZVolumeSF", "Kill Z"));
135 LocNames.Add(TEXT("MeshMergeCullingVolume"), NSLOCTEXT("UnrealEd", "MeshMergeCullingVolumeSF", "Mesh Merge Culling"));
136 LocNames.Add(TEXT("VolumetricLightmapDensityVolume"), NSLOCTEXT("UnrealEd", "VolumetricLightmapDensityVolumeSF", "Volumetric Lightmap Density"));
137 LocNames.Add(TEXT("VisualizeAO"), NSLOCTEXT("UnrealEd", "VisualizeAOSF", "Ambient Occlusion"));
138 }
139
140 check(InName.Len() > 0);
141 const FText* OutName = LocNames.Find(InName);
142 if (OutName)
143 {
144 OutText = *OutName;
145 return true;
146 }
147 if (FindCustomShowFlagDisplayName(InName, OutText))
148 {
149 return true;
150 }
151
152 OutText = FText::FromString(InName);
153 return false;
154 }
155
158 {
159 int32 FlagIndex = FindIndexByName(Name);
160
161 if (FlagIndex >= SF_FirstCustom)
162 {
163 return GetCustomShowFlagGroup(ECustomShowFlag(FlagIndex - SF_FirstCustom));
164 }
165
166 switch (FlagIndex)
167 {
168 #define SHOWFLAG_ALWAYS_ACCESSIBLE(a,b,c) case SF_##a: return b;
169 #define SHOWFLAG_FIXED_IN_SHIPPING(v,a,b,c) case SF_##a: return b;
170 #include "ShowFlagsValues.inl"
171
172 default:
173 // Every flag is defined, if we're here then an invalid index has been returned.
174 checkNoEntry();
175 return SFG_PostProcess;
176 }
177 }
178
184
187 {
188 EnsureRetrievingVTablePtrDuringCtor(TEXT("FEngineShowFlags()"));
190 }
191
192 static bool CanBeToggledInEditor(const TCHAR* Name)
193 {
194 // Order doesn't matter. All elements need to be comma separated, no spaces, last character should be no comma
195 return !IsNameThere(Name,
196 TEXT("Editor,LargeVertices,Selection,HitProxies,PropertyColoration,LightInfluences,LightRadius,Game"));
197 }
198
199 // for rendering thumbnails, cascade, material editor, static mesh editor
200 // keeps bloom as material properties with HDR can be better perceived
202 {
203 SetLensFlares(false);
204 SetOnScreenDebug(false);
205 SetEyeAdaptation(false);
206 SetColorGrading(false);
208 SetDepthOfField(false);
209 SetVignette(false);
210 SetGrain(false);
212 SetScreenPercentage(false);
214 SetTemporalAA(false);
215
216 // might cause reallocation if we render rarely to it - for now off
217 SetAmbientOcclusion(false);
218
219 // Requires resources in the FScene, which get reallocated for every temporary scene if enabled
221
222 SetLightShafts(false);
225 SetHMDDistortion(false);
226 SetStereoRendering(false);
227 SetDistanceFieldAO(false);
228 SetVolumetricFog(false);
231 SetLumenReflections(false);
232 SetMegaLights(false);
233
234 // Have VSM drop all persistent data each frame
236
237 SetShaderPrint(false);
238 }
239
241 {
242 SetLensFlares(true);
243 SetEyeAdaptation(true);
244 SetColorGrading(true);
246 SetDepthOfField(true);
247 SetVignette(true);
248 SetGrain(true);
251 SetTemporalAA(true);
252
253 // might cause reallocation if we render rarely to it - for now off
255
256 // Requires resources in the FScene, which get reallocated for every temporary scene if enabled
258
259 SetLightShafts(true);
261 SetDistanceFieldAO(true);
263 SetLumenReflections(false);
264 SetMegaLights(false);
265
266 // Have VSM drop all persistent data each frame
267 // TODO: Revisit some of the cases that trigger this; if they clean up the scene renderers this is not necessary
269 }
270
271 // Features that make sense to disable together for unlit rendering (custom render passes or unlit scene captures)
273 {
274 SetDynamicShadows(false); // Not supported for CRPs (shadows aren't used if lighting is disabled)
275 SetLighting(false); // Not supported for CRPs
276 SetPostProcessing(false); // Not supported for CRPs (post processing is skipped for unlit scene captures, via bResolveScene being set to false)
277 SetRefraction(false); // Not supported for CRPs (enables separate translucency, which requires post processing to run to composite it back in)
278
279 SetLightFunctions(false); // Needless performance cost (updates light function atlas, which is unused if lighting is disabled)
280 SetUnlitRichView(false); // Needless performance cost (expensive dynamic rendering code path, related to main view debug modes active when lighting is disabled)
281 SetUnlitViewmode(false); // Development shader feature that writes BaseColor to the emissive channel when lighting is disabled (typically only on non-shipping PC builds)
282
283 if (!bAllowAtmosphere)
284 {
285 SetAtmosphere(false); // Technically works with unlit, but costs performance, and is assumed to be undesirable by default
286 }
287 }
288
293
294 // ---------------------------------------------------------
295 // The following methods are there for serialization, localization and in general to iterate and manipulate flags.
296 // ---------------------------------------------------------
297
302 ENGINE_API void SetSingleFlag(uint32 Index, bool bSet);
303
309
317
322 ENGINE_API FString ToString() const;
323
331 ENGINE_API bool SetFromString(const TCHAR* In);
332
339
345 static inline bool IsNameThere(const TCHAR* Name, const TCHAR *CommaSeparatedNames)
346 {
348 }
349
355
364 template <class T> static void IterateAllFlags(T& Sink)
365 {
366 #define SHOWFLAG_ALWAYS_ACCESSIBLE(a,...) if( !Sink.OnEngineShowFlag((uint32)SF_##a, TEXT(PREPROCESSOR_TO_STRING(a))) ) { return; }
367 #include "ShowFlagsValues.inl"
368
369 IterateCustomFlags([&](uint32 Index, const FString& Name) { return Sink.OnCustomShowFlag(Index, Name); });
370 }
371
372 // Used by TCustomShowFlag to register a show flag from another module
374 // Iterate all registered custom show flags
375 static ENGINE_API void IterateCustomFlags(TFunctionRef<bool(uint32, const FString&)> Functor);
376 // Supports ShowFlag.* cvars for custom show flags to force custom show flags on/off
378
379private:
382 {
383 if (InitMode == ESFIM_All0)
384 {
386 return;
387 }
388
389 // Most flags are on by default. With the following line we only need disable flags.
390#if PLATFORM_USE_SHOWFLAGS_ALWAYS_BITFIELD
392#else
394#endif
395 InitCustomShowFlags(InitMode);
396
397 // The following code sets what should be off by default.
398 SetVisualizeHDR(false);
406 SetMaterialNormal(true);
408 SetVisualizeBuffer(false);
409 SetVisualizeNanite(false);
410 SetVisualizeLumen(false);
412 SetVisualizeGroom(false);
415 SetVectorFields(false);
416 SetGBufferHints(false);
418#if UE_ENABLE_DEBUG_DRAWING
420#else
422#endif
424 SetTestImage(false);
425 SetVisualizeDOF(false);
426 SetVertexColors(false);
432 SetVisualizeTSR(false);
434 SetSelectionOutline(false);
435 SetDebugAI(false);
436 SetNavigation(false);
437 SetLightComplexity(false);
438 SetShaderComplexity(false);
439 SetQuadOverdraw(false);
442 SetLightMapDensity(false);
443 SetLODColoration(false);
444 SetHLODColoration(false);
448 SetStreamingBounds(false);
450 SetHISMCClusterTree(false);
452 SetConstraints(false);
453 SetMassProperties(false);
454 SetCameraFrustums(false);
456 SetBSPSplit(false);
457 SetBrushes(false);
458 SetEditor(InitMode == ESFIM_Editor || InitMode == ESFIM_VREditing);
459 SetLargeVertices(false);
461 SetMeshEdges(false);
462 SetCover(false);
464 SetSelection(InitMode == ESFIM_Editor || InitMode == ESFIM_VREditing);
466 SetBounds(false);
467 SetHitProxies(false);
468 SetLightInfluences(false);
470 SetShadowFrustums(false);
471 SetWireframe(false);
475 SetActorColoration(false);
476 SetCollision(false);
477 SetCollisionPawn(false);
480 SetCameraSafeFrames(false);
483 SetHMDDistortion(false); // only effective if a HMD is in use
484 SetAlphaInvert(false);
486 SetStereoRendering(false);
492 // we enable it manually on the editor view ports
493 SetSnap(false);
498 SetPhysicsField(false);
499 SetVisualizeSSR(false);
500 SetVisualizeSSS(false);
506 SetMotionBlur(InitMode != ESFIM_Editor && InitMode != ESFIM_VREditing);
507 SetBones(false);
508 SetServerDrawDebug(false);
511 SetOcclusionMeshes(false);
513 SetPathTracing(false);
514 SetRayTracingDebug(false);
527
534
535 SetClay(false);
536 SetZebra(false);
537 SetFrontBackFace(false);
538 SetRandomColor(false);
539 }
540
541
551 template <class T> static void IterateAllFlags(T& Sink, const TCHAR *CommaSeparatedNames )
552 {
553 const TCHAR* p = CommaSeparatedNames;
554
555 check( p != nullptr );
556
557 for(uint32 Index = 0; ; ++Index)
558 {
559 FString Name;
560
561 // jump over ,
562 while(*p && *p != (TCHAR)',')
563 {
564 Name += *p++;
565 }
566
567 // , in the end of the string? or ; between multiple lines of TEXT("")
568 check(!Name.IsEmpty());
569
570 if(!Sink.OnEngineShowFlag(Index, Name))
571 {
572 // stop iteration
573 return;
574 }
575
576 if(*p == 0)
577 {
578 // end
579 return;
580 }
581
582 // jump over ,
583 ++p;
584 }
585 }
586
588 static void AddNameByIndex(uint32 InIndex, FString& Out);
589
590 // Set default values for custom flags on this FEngineShowFlags instance
591 ENGINE_API void InitCustomShowFlags(EShowFlagInitMode InitMode);
592 // If new custom show flags have been registered, add new default entries to CustomShowFlags
593 void UpdateNewCustomShowFlags();
594
595 // Lookup functions for custom show flags matching engine ones
596 static ENGINE_API bool FindCustomShowFlagDisplayName(const FString& InName, FText& OutText);
597 static bool IsRegisteredCustomShowFlag(ECustomShowFlag Index);
598 static FString GetCustomShowFlagName(ECustomShowFlag Index);
599 static FText GetCustomShowFlagDisplayName(ECustomShowFlag Index);
600 static ENGINE_API EShowFlagGroup GetCustomShowFlagGroup(ECustomShowFlag Index);
601 static ECustomShowFlag FindCustomShowFlagByName(const FString& Name);
602};
603
605ENGINE_API void ApplyViewMode(EViewModeIndex ViewModeIndex, bool bPerspective, FEngineShowFlags& EngineShowFlags);
606
609
611ENGINE_API void EngineShowFlagOrthographicOverride(bool bIsPerspective, FEngineShowFlags& EngineShowFlags);
612
615
617const TCHAR* GetViewModeName(EViewModeIndex ViewModeIndex);
618
619// Enum to control behavior of custom show flags in shipping builds
621{
622 Dynamic, // Allow flag to be changed dynamically
623 ForceEnabled, // Always enabled in shipping builds
624 ForceDisabled, // Always disabled in shipping builds
625};
626
627// Statically register a custom show flag to control rendering - use TCustomShowFlag::IsEnabled to get current state for a given view.
628template<EShowFlagShippingValue ShippingValue = EShowFlagShippingValue::Dynamic>
630{
632 {
633#if UE_BUILD_SHIPPING
635#endif
636 {
638 }
639 }
640
641 bool IsEnabled(const FEngineShowFlags& ShowFlags)
642 {
643#if UE_BUILD_SHIPPING
645 {
646 return false;
647 }
649 {
650 return true;
651 }
652 else
653#endif
654 {
656 {
657 return false;
658 }
659 else
660 {
661 return ShowFlags.GetSingleFlag((uint32)FlagIndex + FEngineShowFlags::SF_FirstCustom);
662 }
663 }
664 }
665
666 bool SetEnabled(FEngineShowFlags& ShowFlags, bool bSet)
667 {
668#if UE_BUILD_SHIPPING
671 {
672 return false;
673 }
674 else
675#endif
676 {
678 {
679 return false;
680 }
681 else
682 {
683 ShowFlags.SetSingleFlag((uint32)FlagIndex + FEngineShowFlags::SF_FirstCustom, bSet);
684 return true;
685 }
686 }
687 }
688
689private:
691};
#define check(expr)
Definition AssertionMacros.h:314
#define checkNoEntry()
Definition AssertionMacros.h:316
void EnsureRetrievingVTablePtrDuringCtor(const TCHAR *CtorSignature)
Definition CoreMisc.cpp:436
#define TEXT(x)
Definition Platform.h:1272
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
EViewModeIndex
Definition EngineBaseTypes.h:962
#define NSLOCTEXT(InNamespace, InKey, InTextLiteral)
Definition Internationalization.h:300
void Init()
Definition LockFreeList.h:4
ENGINE_API void ApplyViewMode(EViewModeIndex ViewModeIndex, bool bPerspective, FEngineShowFlags &EngineShowFlags)
Definition ShowFlags.cpp:292
ENGINE_API void EngineShowFlagOrthographicOverride(bool bIsPerspective, FEngineShowFlags &EngineShowFlags)
Definition ShowFlags.cpp:770
EShowFlagShippingValue
Definition ShowFlags.h:621
const TCHAR * GetViewModeName(EViewModeIndex ViewModeIndex)
Definition ShowFlags.cpp:947
EShowFlagInitMode
Definition ShowFlags.h:35
@ ESFIM_VREditing
Definition ShowFlags.h:38
@ ESFIM_Game
Definition ShowFlags.h:36
@ ESFIM_Editor
Definition ShowFlags.h:37
@ ESFIM_All0
Definition ShowFlags.h:39
EShowFlagGroup
Definition ShowFlags.h:15
@ SFG_Lumen
Definition ShowFlags.h:25
@ SFG_PostProcess
Definition ShowFlags.h:18
@ SFG_Transient
Definition ShowFlags.h:28
@ SFG_Max
Definition ShowFlags.h:30
@ SFG_Normal
Definition ShowFlags.h:16
@ SFG_Hidden
Definition ShowFlags.h:27
@ SFG_LightTypes
Definition ShowFlags.h:22
@ SFG_LightingComponents
Definition ShowFlags.h:23
@ SFG_CollisionModes
Definition ShowFlags.h:19
@ SFG_Visualize
Definition ShowFlags.h:21
@ SFG_Nanite
Definition ShowFlags.h:26
@ SFG_LightingFeatures
Definition ShowFlags.h:24
@ SFG_Developer
Definition ShowFlags.h:20
@ SFG_Advanced
Definition ShowFlags.h:17
@ SFG_Custom
Definition ShowFlags.h:29
ENGINE_API EViewModeIndex FindViewMode(const FEngineShowFlags &EngineShowFlags)
Definition ShowFlags.cpp:782
ENGINE_API void EngineShowFlagOverride(EShowFlagInitMode ShowFlagInitMode, EViewModeIndex ViewModeIndex, FEngineShowFlags &EngineShowFlags, bool bCanDisableTonemapper)
Definition ShowFlags.cpp:435
#define STRUCT_OFFSET(struc, member)
Definition UnrealTemplate.h:218
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Text.h:385
static CORE_API FText FromString(const ANSICHAR *String)
Definition Text.cpp:1081
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
U16 Index
Definition radfft.cpp:71
Definition ShowFlags.h:56
void EngineOverrideCustomShowFlagsFromCVars()
Definition ShowFlags.cpp:1189
static bool CanBeToggledInEditor(const TCHAR *Name)
Definition ShowFlags.h:192
ENGINE_API void SetSingleFlag(uint32 Index, bool bSet)
Definition ShowFlags.cpp:179
TBitArray CustomShowFlags
Definition ShowFlags.h:100
static void IterateAllFlags(T &Sink)
Definition ShowFlags.h:364
EShowFlag
Definition ShowFlags.h:85
@ SF_FirstCustom
Definition ShowFlags.h:87
static ENGINE_API bool IsForceFlagSet(uint32 Index)
Definition ShowFlags.cpp:168
ENGINE_API bool SetFromString(const TCHAR *In)
Definition ShowFlags.cpp:85
void DisableAdvancedFeatures()
Definition ShowFlags.h:201
bool IsVisualizeCalibrationEnabled() const
Definition ShowFlags.h:289
static ENGINE_API FString FindNameByIndex(uint32 InIndex)
Definition ShowFlags.cpp:258
ECustomShowFlag
Definition ShowFlags.h:93
static ENGINE_API FSimpleMulticastDelegate OnCustomShowFlagRegistered
Definition ShowFlags.h:103
static ENGINE_API void IterateCustomFlags(TFunctionRef< bool(uint32, const FString &)> Functor)
Definition ShowFlags.cpp:1093
FEngineShowFlags()
Definition ShowFlags.h:186
ENGINE_API bool GetSingleFlag(uint32 Index) const
Definition ShowFlags.cpp:142
static ENGINE_API int32 FindIndexByName(const TCHAR *Name, const TCHAR *CommaSeparatedNames=0)
Definition ShowFlags.cpp:201
ENGINE_API FString ToString() const
Definition ShowFlags.cpp:38
static ENGINE_API ECustomShowFlag RegisterCustomShowFlag(const TCHAR *Name, bool DefaultEnabled, EShowFlagGroup Group, FText DisplayName)
Definition ShowFlags.cpp:1032
void DisableFeaturesForUnlit(bool bAllowAtmosphere=false)
Definition ShowFlags.h:272
static bool IsNameThere(const TCHAR *Name, const TCHAR *CommaSeparatedNames)
Definition ShowFlags.h:345
void EnableAdvancedFeatures()
Definition ShowFlags.h:240
FEngineShowFlags(EShowFlagInitMode InitMode)
Definition ShowFlags.h:180
static EShowFlagGroup FindShowFlagGroup(const TCHAR *Name)
Definition ShowFlags.h:157
static bool FindShowFlagDisplayName(const FString &InName, FText &OutText)
Definition ShowFlags.h:106
static UE_FORCEINLINE_HINT void * Memset(void *Dest, uint8 Char, SIZE_T Count)
Definition UnrealMemory.h:119
Definition ShowFlags.h:630
bool IsEnabled(const FEngineShowFlags &ShowFlags)
Definition ShowFlags.h:641
TCustomShowFlag(const TCHAR *Name, bool DefaultEnabled, EShowFlagGroup Group=SFG_Custom, FText DisplayName={})
Definition ShowFlags.h:631
bool SetEnabled(FEngineShowFlags &ShowFlags, bool bSet)
Definition ShowFlags.h:666