UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DebugCameraController.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"
6#include "Engine/HitResult.h"
10#include "SceneTypes.h"
12#include "DebugCameraController.generated.h"
13
14class ASpectatorPawn;
15
23UCLASS(config=Game, MinimalAPI)
26{
28
29
31 uint32 bShowSelectedInfo:1;
32
34 UPROPERTY()
35 uint32 bIsFrozenRendering:1;
36
38 UPROPERTY()
39 uint32 bIsOrbitingSelectedActor : 1;
40
42 UPROPERTY()
43 uint32 bOrbitPivotUseCenter:1;
44
46 UPROPERTY()
47 uint32 bEnableBufferVisualization : 1;
48
50 UPROPERTY()
51 uint32 bEnableBufferVisualizationFullMode : 1;
52
54 UPROPERTY()
55 uint32 bIsBufferVisualizationInputSetup : 1;
56
58 UPROPERTY()
59 uint32 bLastDisplayEnabled : 1;
60
62 UPROPERTY()
64
67 ENGINE_API virtual void ShowDebugSelectedInfo();
68
70 ENGINE_API void SelectTargetedObject();
71
73 ENGINE_API void Unselect();
74
76 ENGINE_API void IncreaseCameraSpeed();
77
79 ENGINE_API void DecreaseCameraSpeed();
80
82 ENGINE_API void IncreaseFOV();
83
85 ENGINE_API void DecreaseFOV();
86
88 UFUNCTION(BlueprintCallable, Category="Debug Camera")
89 ENGINE_API void ToggleDisplay();
90
92 ENGINE_API void SetDisplay(bool bEnabled);
93
95 ENGINE_API bool IsDisplayEnabled();
96
101 ENGINE_API virtual void ToggleFreezeRendering();
102
104 ENGINE_API virtual void PreProcessInput(const float DeltaTime, const bool bGamePaused);
105
110 ENGINE_API virtual void UpdateRotation(float DeltaTime) override;
111
113 ENGINE_API void PreProcessInputForOrbit(const float DeltaTime, const bool bGamePaused);
114
116 ENGINE_API void UpdateRotationForOrbit(float DeltaTime);
117
119 ENGINE_API bool GetPivotForOrbit(FVector& PivotLocation) const;
120
122 ENGINE_API void ToggleOrbit(bool bOrbitCenter);
123
125 ENGINE_API void ToggleOrbitCenter();
126
128 ENGINE_API void ToggleOrbitHitPoint();
129
130#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
131
133 static ENGINE_API bool EnableDebugBuffers();
134
136 static ENGINE_API bool EnableDebugViewmodes();
137
139 ENGINE_API void CycleViewMode();
140
142 ENGINE_API void ToggleBufferVisualizationOverviewMode();
143
145 ENGINE_API void BufferVisualizationMoveUp();
146
148 ENGINE_API void BufferVisualizationMoveDown();
149
151 ENGINE_API void BufferVisualizationMoveRight();
152
154 ENGINE_API void BufferVisualizationMoveLeft();
155
157 ENGINE_API void ConsumeAxisMotion(float Val);
158
160 ENGINE_API void ToggleBufferVisualizationFullMode();
161
163 ENGINE_API void SetBufferVisualizationFullMode(bool bFullMode);
164
166 ENGINE_API void UpdateVisualizeBufferPostProcessing(FFinalPostProcessSettings& InOutPostProcessingSettings);
167
169 ENGINE_API FString GetBufferMaterialName(const FString& InBuffer);
170
172 ENGINE_API FString GetSelectedBufferMaterialName();
173
174
175#endif
176
177public:
178
180 UPROPERTY()
181 TWeakObjectPtr<class AActor> SelectedActor;
182
184 UFUNCTION(BlueprintCallable, Category="Debug Camera")
185 ENGINE_API AActor* GetSelectedActor() const;
186
188 UPROPERTY()
189 TWeakObjectPtr<class UPrimitiveComponent> SelectedComponent;
190
192 UPROPERTY()
193 FHitResult SelectedHitPoint;
194
196 UPROPERTY()
197 TObjectPtr<class APlayerController> OriginalControllerRef;
198
200 UPROPERTY()
201 TObjectPtr<class UPlayer> OriginalPlayer;
202
204 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Debug Camera")
205 float SpeedScale;
206
208 UFUNCTION(BlueprintCallable, Category="Debug Camera")
209 ENGINE_API void SetPawnMovementSpeedScale(float NewSpeedScale);
210
212 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Debug Camera")
213 float InitialMaxSpeed;
214
216 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Debug Camera")
217 float InitialAccel;
218
220 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Debug Camera")
221 float InitialDecel;
222
224
225 // Adjusts movement speed limits based on SpeedScale.
226 ENGINE_API virtual void ApplySpeedScale();
227 ENGINE_API virtual void SetupInputComponent() override;
228
230 ENGINE_API void SetupBufferVisualizationOverviewInput();
231
232public:
233
238 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "OnActivate"))
239 ENGINE_API void ReceiveOnActivate(class APlayerController* OriginalPC);
240
242 ENGINE_API virtual void OnActivate(class APlayerController* OriginalPC);
243
248 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "OnDeactivate"))
249 ENGINE_API void ReceiveOnDeactivate(class APlayerController* RestoredPC);
250
252 ENGINE_API virtual void OnDeactivate(class APlayerController* RestoredPC);
253
260 ENGINE_API virtual void UpdateHiddenComponents(const FVector& ViewLocation,TSet<FPrimitiveComponentId>& HiddenComponents) override;
261
262public:
263
264 // APlayerController Interface
265
266 ENGINE_API virtual void PostInitializeComponents() override;
267 ENGINE_API virtual FString ConsoleCommand(const FString& Command, bool bWriteToLog = true) override;
268 ENGINE_API virtual void AddCheats(bool bForce) override;
269 ENGINE_API virtual void EndSpectatingState() override;
271 ENGINE_API virtual ASpectatorPawn* SpawnSpectatorPawn() override;
272
274
283 UFUNCTION(BlueprintImplementableEvent, Category="Debug Camera", meta=(DisplayName="OnActorSelected"))
284 ENGINE_API void ReceiveOnActorSelected(AActor* NewSelectedActor, const FVector& SelectHitLocation, const FVector& SelectHitNormal, const FHitResult& Hit);
285
290 ENGINE_API virtual void Select( FHitResult const& Hit );
291
292 ENGINE_API virtual void SetSpectatorPawn(class ASpectatorPawn* NewSpectatorPawn) override;
293
294#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
295
297 ENGINE_API TArray<FString> GetBufferVisualizationOverviewTargets();
298
300 ENGINE_API void GetNextBuffer(const TArray<FString>& OverviewBuffers, int32 Step = 1);
301
303 ENGINE_API void GetNextBuffer(int32 Step = 1);
304
305#endif
306
307private:
308
310 FVector2D LastTouchDragLocation;
311
313 FVector LastOrbitPawnLocation;
314
316 FVector OrbitPivot;
317
319 float OrbitRadius;
320
322 int32 LastViewModeSettingsIndex;
323
325 FString CurrSelectedBuffer;
326
327 void OnTouchBegin(ETouchIndex::Type FingerIndex, FVector Location);
328 void OnTouchEnd(ETouchIndex::Type FingerIndex, FVector Location);
329 void OnFingerMove(ETouchIndex::Type FingerIndex, FVector Location);
330};
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
return true
Definition ExternalRpcRegistry.cpp:601
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
float Val(const FString &Value)
Definition UnrealMath.cpp:3163
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Actor.h:257
Definition DebugCameraController.h:26
Definition PlayerController.h:261
Definition SpectatorPawn.h:17
Definition FinalPostProcessSettings.h:17
Definition PrimitiveComponentId.h:12
Definition Array.h:670
Definition Player.h:18
Definition HitResult.h:21
Definition ObjectPtr.h:488
Definition WeakObjectPtrTemplates.h:25