UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CheatManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3//=============================================================================
4// CheatManager
5// Object within playercontroller that manages development "cheat"
6// commands only spawned in single player mode
7// No cheat manager is created in shipping builds.
8//=============================================================================
9
10#pragma once
11
12#include "CheatManagerDefines.h"
13#include "CoreMinimal.h"
15#include "UObject/Object.h"
17#include "Engine/EngineTypes.h"
19#include "UObject/Interface.h"
20
21#include "CheatManager.generated.h"
22
25{
26 // Line Trace Start
28
29 // Line Trace End
31
32 // Hit Normal Start
34
35 // Hit Normal End
37
38 // Hit ImpactNormal End
40
41 // Hit Location
43
44 // Half collision capsule height
46
47 // Half collision capsule radius
49
50 // this is when blocked and penetrating
52
64};
65
67
68
70UCLASS(Blueprintable, Within=CheatManager, MinimalAPI)
72{
74
75public:
77 ENGINE_API virtual UWorld* GetWorld() const override;
78
79 UFUNCTION(BlueprintPure, Category = "Cheat Manager")
80 ENGINE_API APlayerController* GetPlayerController() const;
81
82 UFUNCTION(BlueprintNativeEvent, meta=(DisplayName = "Added To Cheat Manager", Keywords="Begin Play"))
83 ENGINE_API void AddedToCheatManager();
84 ENGINE_API virtual void AddedToCheatManager_Implementation();
85
86 UFUNCTION(BlueprintNativeEvent, meta = (DisplayName = "Removed From Cheat Manager", Keywords = "End Play"))
87 ENGINE_API void RemovedFromCheatManager();
88 ENGINE_API virtual void RemovedFromCheatManager_Implementation();
89
90 ENGINE_API virtual void DoExtensionSpecificBugItLog(FOutputDevice& OutputFile);
91};
92
97UCLASS(Blueprintable, Within=PlayerController, MinimalAPI)
99{
101
102 //~UObject interface
103 ENGINE_API virtual bool ProcessConsoleExec(const TCHAR* Cmd, FOutputDevice& Ar, UObject* Executor) override;
104 //~End of UObject interface
105
107 UPROPERTY()
108 TObjectPtr<class ADebugCameraController> DebugCameraControllerRef;
109
111 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Debug Camera")
112 TSubclassOf<class ADebugCameraController> DebugCameraControllerClass;
113
114 // Trace/Sweep debug start
116 uint32 bDebugCapsuleSweep:1;
117
119 uint32 bDebugCapsuleTraceComplex:1;
120
122 uint32 bToggleAILogging : 1;
123
125 static ENGINE_API bool bDebugCapsuleSweepPawn;
126
128 static inline bool IsDebugCapsuleSweepPawnEnabled() { return bDebugCapsuleSweepPawn; }
129
131 float DebugTraceDistance;
132
134 float DebugCapsuleHalfHeight;
135
137 float DebugCapsuleRadius;
138
140 float DebugTraceDrawNormalLength;
141
143 TEnumAsByte<enum ECollisionChannel> DebugTraceChannel;
144
146 TArray<struct FDebugTraceInfo> DebugTraceInfoList;
147
149 TArray<struct FDebugTraceInfo> DebugTracePawnInfoList;
150
152 int32 CurrentTraceIndex;
153
155 int32 CurrentTracePawnIndex;
156
158 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
159 ENGINE_API virtual void FreezeFrame(float Delay);
160
161 /* Teleport to surface player is looking at. */
162 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
163 ENGINE_API virtual void Teleport();
164
165 /* Scale the player's size to be F * default size. */
166 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
167 ENGINE_API virtual void ChangeSize(float F);
168
170 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
171 ENGINE_API virtual void Fly();
172
174 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
175 ENGINE_API virtual void Walk();
176
178 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
179 ENGINE_API virtual void Ghost();
180
182 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
183 ENGINE_API virtual void God();
184
186 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
187 ENGINE_API virtual void Slomo(float NewTimeDilation);
188
190 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
191 ENGINE_API virtual void DamageTarget(float DamageAmount);
192
194 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
195 ENGINE_API virtual void DestroyTarget();
196
199 ENGINE_API virtual void DestroyAll(TSubclassOf<class AActor> aClass);
200
203 ENGINE_API virtual void DestroyAllPawnsExceptTarget();
204
207 ENGINE_API virtual void DestroyPawns(TSubclassOf<class APawn> aClass);
208
211 ENGINE_API virtual void Summon(const FString& ClassName);
212
214 UFUNCTION(exec,BlueprintCallable,Category="Cheat Manager")
215 ENGINE_API virtual void PlayersOnly();
216
219 ENGINE_API virtual void ViewSelf();
220
223 ENGINE_API virtual void ViewPlayer(const FString& S);
224
227 ENGINE_API virtual void ViewActor(FName ActorName);
228
231 ENGINE_API virtual void ViewClass(TSubclassOf<class AActor> DesiredClass);
232
235 ENGINE_API virtual void StreamLevelIn(FName PackageName);
236
239 ENGINE_API virtual void OnlyLoadLevel(FName PackageName);
240
243 ENGINE_API virtual void StreamLevelOut(FName PackageName);
244
247 ENGINE_API virtual void ToggleDebugCamera();
248
250 ENGINE_API virtual bool IsDebugCameraActive() const;
251
254 ENGINE_API virtual void ToggleAILogging();
255
256 UFUNCTION(reliable, server, WithValidation)
257 ENGINE_API virtual void ServerToggleAILogging();
258
261 ENGINE_API virtual void DebugCapsuleSweep();
262
265 ENGINE_API virtual void DebugCapsuleSweepSize(float HalfHeight, float Radius);
266
269 ENGINE_API virtual void DebugCapsuleSweepChannel(enum ECollisionChannel Channel);
270
273 ENGINE_API virtual void DebugCapsuleSweepComplex(bool bTraceComplex);
274
277 ENGINE_API virtual void DebugCapsuleSweepCapture();
278
281 ENGINE_API virtual void DebugCapsuleSweepPawn();
282
285 ENGINE_API virtual void DebugCapsuleSweepClear();
286
289 ENGINE_API virtual void TestCollisionDistance();
290
293 ENGINE_API virtual void DumpOnlineSessionState();
294
297 ENGINE_API virtual void DumpPartyState();
298
301 ENGINE_API virtual void DumpChatState();
302
305 ENGINE_API virtual void DumpVoiceMutingState();
306
312 ENGINE_API virtual void BugItGo(float X, float Y, float Z, float Pitch, float Yaw, float Roll);
313
318 ENGINE_API virtual void BugItGoString(const FString& TheLocation, const FString& TheRotation);
319
327 ENGINE_API virtual void BugIt(const FString& ScreenShotDescription = TEXT(""));
328
331 ENGINE_API virtual void BugItStringCreator(FVector ViewLocation, FRotator ViewRotation, FString& GoString, FString& LocString);
332
335 ENGINE_API virtual void FlushLog();
336
339 ENGINE_API virtual void LogLoc();
340
343 ENGINE_API void SetWorldOrigin();
344
347 ENGINE_API virtual void SetMouseSensitivityToDefault();
348
351 ENGINE_API virtual void InvertMouse();
352
355 ENGINE_API void CheatScript(FString ScriptName);
356
357 UFUNCTION(Exec)
358 ENGINE_API void SpawnServerStatReplicator();
359
360 UFUNCTION(Exec)
361 ENGINE_API void DestroyServerStatReplicator();
362
363 UFUNCTION(Exec)
364 ENGINE_API void ToggleServerStatReplicatorClientOverwrite();
365
366 UFUNCTION(Exec)
367 ENGINE_API void ToggleServerStatReplicatorUpdateStatNet();
368
370 ENGINE_API void UpdateSafeArea();
371
372 UFUNCTION()
373 ENGINE_API void OnPlayerEndPlayed(AActor* Player, EEndPlayReason::Type EndPlayReason);
374
380 ENGINE_API virtual void BugItWorker( FVector TheLocation, FRotator TheRotation );
381
383 ENGINE_API virtual void LogOutBugItGoToLogFile( const FString& InScreenShotDesc, const FString& InScreenShotPath, const FString& InGoString, const FString& InLocString );
384
385#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
387 ENGINE_API void TickCollisionDebug();
388
390 ENGINE_API void AddCapsuleSweepDebugInfo(
391 const FVector& LineTraceStart,
392 const FVector& LineTraceEnd,
394 const FVector& HitNormal,
395 const FVector& HitImpactNormal,
396 const FVector& HitLocation,
397 float CapsuleHalfheight,
398 float CapsuleRadius,
399 bool bTracePawn,
400 bool bInsideOfObject );
401
402#endif // !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
403
405 ENGINE_API virtual void SetLevelStreamingStatus(FName PackageName, bool bShouldBeLoaded, bool bShouldBeVisible);
406
410 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "Init Cheat Manager", Keywords="Begin Play"))
411 ENGINE_API void ReceiveInitCheatManager();
412
416 ENGINE_API virtual void InitCheatManager();
417
421 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "Shutdown", keywords="endplay"))
422 ENGINE_API void ReceiveEndPlay();
423
428 ENGINE_API virtual void BeginDestroy() override;
429
431 ENGINE_API virtual UWorld* GetWorld() const override;
432
433public:
435 ENGINE_API void AddCheatManagerExtension(UCheatManagerExtension* CheatObject);
436
438 ENGINE_API void RemoveCheatManagerExtension(UCheatManagerExtension* CheatObject);
439
441 ENGINE_API UCheatManagerExtension* FindCheatManagerExtension(const UClass* InClass) const;
442
444 template<typename T>
446 {
447 return CastChecked<T>(FindCheatManagerExtension(T::StaticClass()), ECastCheckedType::NullAllowed);
448 }
449
451 ENGINE_API UCheatManagerExtension* FindCheatManagerExtensionInterface(const UClass* InClass) const;
452
454 template<class T = UInterface>
456 {
457 return CastChecked<T>(FindCheatManagerExtensionInterface(T::UClassType::StaticClass()), ECastCheckedType::NullAllowed);
458 }
459
461 static ENGINE_API FDelegateHandle RegisterForOnCheatManagerCreated(FOnCheatManagerCreated::FDelegate&& Delegate);
462
464 static ENGINE_API void UnregisterFromOnCheatManagerCreated(FDelegateHandle DelegateHandle);
465
467 ENGINE_API virtual bool DoGameSpecificBugItLog(FOutputDevice& OutputFile);
468
469protected:
472 TArray<TObjectPtr<UCheatManagerExtension>> CheatManagerExtensions;
473
475 static ENGINE_API FOnCheatManagerCreated OnCheatManagerCreatedDelegate;
476
478
480 UFUNCTION(BlueprintCallable,Category="Cheat Manager")
481 ENGINE_API virtual void EnableDebugCamera();
482
484 UFUNCTION(BlueprintCallable,Category="Cheat Manager")
485 ENGINE_API virtual void DisableDebugCamera();
486
488 ENGINE_API virtual AActor* GetTarget(APlayerController* PlayerController, struct FHitResult& OutHit);
489
490public:
491 UFUNCTION(BlueprintPure, Category = "Cheat Manager")
492 ENGINE_API APlayerController* GetPlayerController() const;
493};
494
495
496
@ ForceInit
Definition CoreMiscDefines.h:155
#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
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
ECollisionChannel
Definition EngineTypes.h:1088
#define X(Name, Desc)
Definition FormatStringSan.h:47
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
const bool bTraceComplex
Definition PhysicsInterfaceUtils.h:19
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Actor.h:257
Definition PlayerController.h:261
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition Array.h:670
Definition EnumAsByte.h:22
Definition SubclassOf.h:30
Definition CheatManager.h:72
Definition CheatManager.h:99
T * FindCheatManagerExtension() const
Definition CheatManager.h:445
T * FindCheatManagerExtensionInterface() const
Definition CheatManager.h:455
Definition Class.h:3793
Definition Object.h:95
Definition World.h:918
@ NullAllowed
Definition Object.h:62
Type
Definition EngineTypes.h:3431
@ false
Definition radaudio_common.h:23
Definition CheatManager.h:25
FVector LineTraceStart
Definition CheatManager.h:27
uint32 bInsideOfObject
Definition CheatManager.h:51
FVector HitNormalStart
Definition CheatManager.h:33
FVector HitImpactNormalEnd
Definition CheatManager.h:39
FDebugTraceInfo()
Definition CheatManager.h:53
FVector HitNormalEnd
Definition CheatManager.h:36
FVector HitLocation
Definition CheatManager.h:42
FVector LineTraceEnd
Definition CheatManager.h:30
float CapsuleRadius
Definition CheatManager.h:48
float CapsuleHalfHeight
Definition CheatManager.h:45
Definition HitResult.h:21
Definition ObjectPtr.h:488