UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GameplayDebuggerConfig.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "Containers/Map.h"
8#include "CoreMinimal.h"
10#include "HAL/Platform.h"
11#include "InputCoreTypes.h"
12#include "UObject/NameTypes.h"
13#include "UObject/Object.h"
16
17#include "GameplayDebuggerConfig.generated.h"
18
19class FArchive;
21
22UENUM()
29
30USTRUCT()
32{
34
36 : bModShift(false)
37 , bModCtrl(false)
38 , bModAlt(false)
39 , bModCmd(false) {}
40
41 UPROPERTY(VisibleAnywhere, Category = Input)
42 FString ConfigName;
43
44 UPROPERTY(EditAnywhere, Category = Input)
45 FKey Key;
46
47 UPROPERTY(EditAnywhere, Category = Input)
48 uint32 bModShift : 1;
49
50 UPROPERTY(EditAnywhere, Category = Input)
51 uint32 bModCtrl : 1;
52
53 UPROPERTY(EditAnywhere, Category = Input)
54 uint32 bModAlt : 1;
55
56 UPROPERTY(EditAnywhere, Category = Input)
57 uint32 bModCmd : 1;
58};
59
60USTRUCT()
62{
64
65 UPROPERTY(VisibleAnywhere, Category = Settings)
66 FString CategoryName;
67
68 UPROPERTY(EditAnywhere, Category = Settings, meta = (EditCondition = "bOverrideSlotIdx", ClampMin = -1, ClampMax = 9, UIMin = -1, UIMax = 9))
69 int32 SlotIdx;
70
71 UPROPERTY(EditAnywhere, Category = Settings)
73
74 UPROPERTY(EditAnywhere, Category = Settings)
76
77 UPROPERTY(EditAnywhere, Category = Settings)
79
80 UPROPERTY(EditAnywhere, Category = Settings, AdvancedDisplay)
81 uint32 bOverrideSlotIdx : 1;
82
83 UPROPERTY(EditAnywhere, Category = Settings, EditFixedSize)
85
87 : SlotIdx(0)
89 , ActiveInSimulate(EGameplayDebuggerOverrideMode::UseDefault)
91 , bOverrideSlotIdx(false)
92 {}
93};
94
95USTRUCT()
97{
99
100 UPROPERTY(VisibleAnywhere, Category = Settings)
101 FString ExtensionName;
102
103 UPROPERTY(EditAnywhere, Category = Settings)
105
106 UPROPERTY(EditAnywhere, Category = Settings, EditFixedSize)
108
110};
111
112UCLASS(config = Engine, defaultconfig, MinimalAPI)
114{
116
117
118 UPROPERTY(config, EditAnywhere, Category = Input)
119 FKey ActivationKey;
120
122 UPROPERTY(config, EditAnywhere, Category = Input)
123 FKey CategoryRowNextKey;
124
126 UPROPERTY(config, EditAnywhere, Category = Input)
127 FKey CategoryRowPrevKey;
128
130 UPROPERTY(config, EditAnywhere, Category = Input)
131 FKey CategorySlot0;
132
134 UPROPERTY(config, EditAnywhere, Category = Input)
135 FKey CategorySlot1;
136
138 UPROPERTY(config, EditAnywhere, Category = Input)
139 FKey CategorySlot2;
140
142 UPROPERTY(config, EditAnywhere, Category = Input)
143 FKey CategorySlot3;
144
146 UPROPERTY(config, EditAnywhere, Category = Input)
147 FKey CategorySlot4;
148
150 UPROPERTY(config, EditAnywhere, Category = Input)
151 FKey CategorySlot5;
152
154 UPROPERTY(config, EditAnywhere, Category = Input)
155 FKey CategorySlot6;
156
158 UPROPERTY(config, EditAnywhere, Category = Input)
159 FKey CategorySlot7;
160
162 UPROPERTY(config, EditAnywhere, Category = Input)
163 FKey CategorySlot8;
164
166 UPROPERTY(config, EditAnywhere, Category = Input)
167 FKey CategorySlot9;
168
170 UPROPERTY(config, EditAnywhere, Category = Display)
171 float DebugCanvasPaddingLeft;
172
174 UPROPERTY(config, EditAnywhere, Category = Display)
175 float DebugCanvasPaddingRight;
176
178 UPROPERTY(config, EditAnywhere, Category = Display)
179 float DebugCanvasPaddingTop;
180
182 UPROPERTY(config, EditAnywhere, Category = Display)
183 float DebugCanvasPaddingBottom;
184
186 UPROPERTY(config, EditAnywhere, Category = Display)
187 bool bDebugCanvasEnableTextShadow;
188
189 UPROPERTY(config, EditAnywhere, Category = AddOns, EditFixedSize)
191
192 UPROPERTY(config, EditAnywhere, Category = AddOns, EditFixedSize)
194
196 GAMEPLAYDEBUGGER_API void UpdateCategoryConfig(const FName CategoryName, int32& SlotIdx, uint8& CategoryState);
197
199 GAMEPLAYDEBUGGER_API void UpdateCategoryInputConfig(const FName CategoryName, const FName InputName, FName& KeyName, FGameplayDebuggerInputModifier& KeyModifier);
200
202 GAMEPLAYDEBUGGER_API void UpdateExtensionConfig(const FName ExtensionName, uint8& UseExtension);
203
205 GAMEPLAYDEBUGGER_API void UpdateExtensionInputConfig(const FName ExtensionName, const FName InputName, FName& KeyName, FGameplayDebuggerInputModifier& KeyModifier);
206
208 GAMEPLAYDEBUGGER_API void RemoveUnknownConfigs();
209
210 GAMEPLAYDEBUGGER_API virtual void Serialize(FArchive& Ar) override;
211#if WITH_EDITOR
212 GAMEPLAYDEBUGGER_API virtual void PostEditChangeChainProperty(struct FPropertyChangedChainEvent& PropertyChangedEvent) override;
213#endif
214
215private:
216
218 TArray<FName> KnownCategoryNames;
219 TArray<FName> KnownExtensionNames;
220 TMultiMap<FName, FName> KnownCategoryInputNames;
221 TMultiMap<FName, FName> KnownExtensionInputNames;
222};
223
224
225UCLASS(config = EditorPerProjectUserSettings, meta = (DisplayName = "Gameplay Debugger"), MinimalAPI)
227{
229protected:
230 virtual FName GetCategoryName() const override { return TEXT("Advanced"); }
231
232public:
234 static GAMEPLAYDEBUGGER_API void SetFontSize(const int32 InFontSize);
235
238 UPROPERTY(config, EditAnywhere, Category = GameplayDebugger)
239 uint32 bEnableGameplayDebuggerInEditor : 1;
240
245 UPROPERTY(config, EditAnywhere, Category = GameplayDebugger)
246 float MaxViewDistance = 25000.0f;
247
252 UPROPERTY(config, EditAnywhere, Category = GameplayDebugger, meta = (UIMin = 0, ClampMin = 0, UIMax = 180, ClampMax = 180, Units = deg))
253 float MaxViewAngle = 45.f;
254
258 UPROPERTY(config, EditAnywhere, Category = GameplayDebugger)
259 TSet<FName> EnabledCategories;
260
263 UPROPERTY(config, EditAnywhere, Category = GameplayDebugger)
264 int32 FontSize = 10;
265};
#define TEXT(x)
Definition Platform.h:1272
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
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
EGameplayDebuggerOverrideMode
Definition GameplayDebuggerConfig.h:24
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#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
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Engine.Build.cs:7
Definition Archive.h:1208
Definition NameTypes.h:617
Definition Array.h:670
Definition DeveloperSettings.h:24
Definition GameplayDebuggerConfig.h:114
Definition GameplayDebuggerConfig.h:227
virtual FName GetCategoryName() const override
Definition GameplayDebuggerConfig.h:230
static int32 GetFontSize()
Definition GameplayDebuggerConfig.h:233
Definition Object.h:95
@ false
Definition radaudio_common.h:23
Definition GameplayDebuggerConfig.h:62
Definition GameplayDebuggerConfig.h:97
Definition GameplayDebuggerConfig.h:32
Definition GameplayDebuggerTypes.h:361
Definition InputCoreTypes.h:50
Definition UnrealType.h:7001