UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ShowFlags.h File Reference
#include "CoreMinimal.h"
#include "Engine/EngineBaseTypes.h"
#include "EngineDefines.h"
#include "ShowFlagsValues.inl"

Go to the source code of this file.

Classes

struct  FEngineShowFlags
 
struct  TCustomShowFlag< ShippingValue >
 

Macros

#define UE_BUILD_OPTIMIZED_SHOWFLAGS   0
 
#define SHOWFLAG_ALWAYS_ACCESSIBLE(a, ...)   bool a; void Set##a(bool bVal){ a = bVal; }
 
#define SHOWFLAG_FIXED_IN_SHIPPING(v, a, b, c)   SHOWFLAG_ALWAYS_ACCESSIBLE(a,b,c)
 
#define SHOWFLAG_ALWAYS_ACCESSIBLE(a, ...)   SF_##a,
 
#define SHOWFLAG_ALWAYS_ACCESSIBLE(a, b, c)   LocNames.Add( TEXT(PREPROCESSOR_TO_STRING(a)), c);
 
#define SHOWFLAG_FIXED_IN_SHIPPING(v, a, b, c)   LocNames.Add( TEXT(PREPROCESSOR_TO_STRING(a)), c);
 
#define SHOWFLAG_ALWAYS_ACCESSIBLE(a, b, c)   case SF_##a: return b;
 
#define SHOWFLAG_FIXED_IN_SHIPPING(v, a, b, c)   case SF_##a: return b;
 
#define SHOWFLAG_ALWAYS_ACCESSIBLE(a, ...)   if( !Sink.OnEngineShowFlag((uint32)SF_##a, TEXT(PREPROCESSOR_TO_STRING(a))) ) { return; }
 

Enumerations

enum  EShowFlagGroup {
  SFG_Normal , SFG_Advanced , SFG_PostProcess , SFG_CollisionModes ,
  SFG_Developer , SFG_Visualize , SFG_LightTypes , SFG_LightingComponents ,
  SFG_LightingFeatures , SFG_Lumen , SFG_Nanite , SFG_Hidden ,
  SFG_Transient , SFG_Custom , SFG_Max
}
 
enum  EShowFlagInitMode { ESFIM_Game , ESFIM_Editor , ESFIM_VREditing , ESFIM_All0 }
 
enum class  EShowFlagShippingValue { Dynamic , ForceEnabled , ForceDisabled }
 

Functions

ENGINE_API void ApplyViewMode (EViewModeIndex ViewModeIndex, bool bPerspective, FEngineShowFlags &EngineShowFlags)
 
ENGINE_API void EngineShowFlagOverride (EShowFlagInitMode ShowFlagInitMode, EViewModeIndex ViewModeIndex, FEngineShowFlags &EngineShowFlags, bool bCanDisableTonemapper)
 
ENGINE_API void EngineShowFlagOrthographicOverride (bool bIsPerspective, FEngineShowFlags &EngineShowFlags)
 
ENGINE_API EViewModeIndex FindViewMode (const FEngineShowFlags &EngineShowFlags)
 
const TCHARGetViewModeName (EViewModeIndex ViewModeIndex)
 

Macro Definition Documentation

◆ SHOWFLAG_ALWAYS_ACCESSIBLE [1/5]

#define SHOWFLAG_ALWAYS_ACCESSIBLE (   a,
  b,
 
)    LocNames.Add( TEXT(PREPROCESSOR_TO_STRING(a)), c);

◆ SHOWFLAG_ALWAYS_ACCESSIBLE [2/5]

#define SHOWFLAG_ALWAYS_ACCESSIBLE (   a,
  b,
 
)    case SF_##a: return b;

◆ SHOWFLAG_ALWAYS_ACCESSIBLE [3/5]

#define SHOWFLAG_ALWAYS_ACCESSIBLE (   a,
  ... 
)    bool a; void Set##a(bool bVal){ a = bVal; }

◆ SHOWFLAG_ALWAYS_ACCESSIBLE [4/5]

#define SHOWFLAG_ALWAYS_ACCESSIBLE (   a,
  ... 
)    SF_##a,

◆ SHOWFLAG_ALWAYS_ACCESSIBLE [5/5]

#define SHOWFLAG_ALWAYS_ACCESSIBLE (   a,
  ... 
)    if( !Sink.OnEngineShowFlag((uint32)SF_##a, TEXT(PREPROCESSOR_TO_STRING(a))) ) { return; }

◆ SHOWFLAG_FIXED_IN_SHIPPING [1/3]

#define SHOWFLAG_FIXED_IN_SHIPPING (   v,
  a,
  b,
 
)    SHOWFLAG_ALWAYS_ACCESSIBLE(a,b,c)

◆ SHOWFLAG_FIXED_IN_SHIPPING [2/3]

#define SHOWFLAG_FIXED_IN_SHIPPING (   v,
  a,
  b,
 
)    LocNames.Add( TEXT(PREPROCESSOR_TO_STRING(a)), c);

◆ SHOWFLAG_FIXED_IN_SHIPPING [3/3]

#define SHOWFLAG_FIXED_IN_SHIPPING (   v,
  a,
  b,
 
)    case SF_##a: return b;

◆ UE_BUILD_OPTIMIZED_SHOWFLAGS

#define UE_BUILD_OPTIMIZED_SHOWFLAGS   0

Enumeration Type Documentation

◆ EShowFlagGroup

for FShowFlagData, order is not important, adding new elements requires updating some editor code

Enumerator
SFG_Normal 
SFG_Advanced 
SFG_PostProcess 
SFG_CollisionModes 
SFG_Developer 
SFG_Visualize 
SFG_LightTypes 
SFG_LightingComponents 
SFG_LightingFeatures 
SFG_Lumen 
SFG_Nanite 
SFG_Hidden 
SFG_Transient 
SFG_Custom 
SFG_Max 

◆ EShowFlagInitMode

To customize the EngineShowFlags constructor

Enumerator
ESFIM_Game 
ESFIM_Editor 
ESFIM_VREditing 
ESFIM_All0 

◆ EShowFlagShippingValue

Enumerator
Dynamic 
ForceEnabled 
ForceDisabled 

Function Documentation

◆ ApplyViewMode()

ENGINE_API void ApplyViewMode ( EViewModeIndex  ViewModeIndex,
bool  bPerspective,
FEngineShowFlags EngineShowFlags 
)

Set ShowFlags and EngineShowFlags depending on view mode.

◆ EngineShowFlagOrthographicOverride()

ENGINE_API void EngineShowFlagOrthographicOverride ( bool  bIsPerspective,
FEngineShowFlags EngineShowFlags 
)

Call each view rendering after game [engine] show flags for rendering a view have been set; disables effects that will not work in an orthographic projection due to shader limitations.

Orthographic feature support has been improved so all features are now enabled by default. If you wish to disable a specific feature, add the showflag disable call here. e.g. EngineShowFlags.SetMotionBlur(false);

◆ EngineShowFlagOverride()

ENGINE_API void EngineShowFlagOverride ( EShowFlagInitMode  ShowFlagInitMode,
EViewModeIndex  ViewModeIndex,
FEngineShowFlags EngineShowFlags,
bool  bCanDisableTonemapper 
)

Call each view rendering after game [engine] show flags for rendering a view have been set.

◆ FindViewMode()

ENGINE_API EViewModeIndex FindViewMode ( const FEngineShowFlags EngineShowFlags)

Find the view mode that first to the set show flags (to be backward compatible, can be removed on day).

◆ GetViewModeName()

const TCHAR * GetViewModeName ( EViewModeIndex  ViewModeIndex)
Returns
0 if outside of the range, e.g. TEXT("LightingOnly") for EVM_LightingOnly