UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GameViewportClient.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"
8#include "InputCoreTypes.h"
12//#include "Widgets/SWidget.h"
13//#include "Widgets/SOverlay.h"
14#include "ShowFlags.h"
21#include "StereoRendering.h"
22#include "AudioDeviceHandle.h"
23
24#include "GameViewportClient.generated.h"
25
26class FCanvas;
27class FSceneView;
28class FSceneViewport;
29class FViewportFrame;
31class SOverlay;
32class SViewport;
33class SWidget;
34class SWindow;
35class UCanvas;
36class UGameInstance;
37class ULocalPlayer;
38class UNetDriver;
39struct FMargin;
40
42
45
48
50DECLARE_DELEGATE_RetVal_FourParams(bool, FOverrideInputAxisHandler, FInputKeyEventArgs& /*EventArgs*/, float& /*Delta*/, float& /*DeltaTime*/, int32& /*NumSamples*/);
51
52DECLARE_MULTICAST_DELEGATE_SevenParams(FOnInputAxisSignature, FViewport* /*InViewport*/, int32 /*ControllerId*/, FKey /*Key*/, float /*Delta*/, float /*DeltaTime*/, int32 /*NumSamples*/, bool /*bGamepad*/);
54
69UCLASS(Within=Engine, transient, config=Engine, MinimalAPI)
71{
73
74public:
77
79
81 UPROPERTY()
82 TObjectPtr<class UConsole> ViewportConsole;
83
85 UPROPERTY()
87
89 TArray<struct FSplitscreenData> SplitscreenInfo;
90
91 UPROPERTY(Config)
92 int32 MaxSplitscreenPlayers = 4;
93
95 uint32 bIsPlayInEditorViewport:1;
96
98 uint32 bDisableWorldRendering:1;
99
105 TEnumAsByte<ESplitScreenType::Type> ActiveSplitscreenType;
106
107 /* The relative world context for this viewport */
108 UPROPERTY()
110
111 UPROPERTY()
113
115 bool bSuppressTransitionMessage;
116
119
121 FDelegateHandle AudioDeviceDestroyedHandle;
122
123public:
124
126 int32 ViewModeIndex;
127
130 ENGINE_API virtual void SSSwapControllers();
131
135 UFUNCTION(exec, meta = (DeprecatedFunction, DeprecationMessage = "Use the cvar \"r.DebugSafeZone.Mode=1.\""))
136 ENGINE_API virtual void ShowTitleSafeArea();
137
140 ENGINE_API virtual void SetConsoleTarget(int32 PlayerIndex);
141
143 UE_DEPRECATED(5.4, "AddCursorWidget is deprecated, use SetSoftwareCursorWidget instead.")
144 ENGINE_API void AddCursorWidget(EMouseCursor::Type Cursor, class UUserWidget* CursorWidget);
145
147 ENGINE_API virtual UWorld* GetWorld() const override;
148
149 /* Create the game viewport */
151
152 /* Returns the game viewport */
153 ENGINE_API FSceneViewport* GetGameViewport();
154 ENGINE_API const FSceneViewport* GetGameViewport() const;
155
156 /* Returns the widget for this viewport */
157 ENGINE_API TSharedPtr<SViewport> GetGameViewportWidget() const;
158
159 /* Returns the relevant game instance for this viewport */
160 ENGINE_API UGameInstance* GetGameInstance() const;
161
162 ENGINE_API virtual void Init(struct FWorldContext& WorldContext, UGameInstance* OwningGameInstance, bool bCreateNewAudioDevice = true);
163
164public:
165 //~ Begin UObject Interface
166 ENGINE_API virtual void PostInitProperties() override;
167 ENGINE_API virtual void BeginDestroy() override;
168 //~ End UObject Interface
169
170 //~ Begin FViewportClient Interface.
171 virtual void RedrawRequested(FViewport* InViewport) override {}
172 ENGINE_API virtual bool InputKey(const FInputKeyEventArgs& EventArgs) override;
173 ENGINE_API virtual bool InputAxis(const FInputKeyEventArgs& EventArgs) override;
174 ENGINE_API virtual bool InputChar(FViewport* Viewport,int32 ControllerId, TCHAR Character) override;
175 ENGINE_API virtual bool InputTouch(FViewport* InViewport, const FInputDeviceId DeviceId, uint32 Handle, ETouchType::Type Type, const FVector2D& TouchLocation, float Force, uint32 TouchpadIndex, const uint64 Timestamp) override;
176 ENGINE_API virtual bool InputMotion(FViewport* Viewport, const FInputDeviceId DeviceId, const FVector& Tilt, const FVector& RotationRate, const FVector& Gravity, const FVector& Acceleration, const uint64 Timestamp) override;
177 ENGINE_API virtual EMouseCursor::Type GetCursor(FViewport* Viewport, int32 X, int32 Y ) override;
178 ENGINE_API virtual TOptional<TSharedRef<SWidget>> MapCursor(FViewport* Viewport, const FCursorReply& CursorReply) override;
179 ENGINE_API virtual void Precache() override;
180 ENGINE_API virtual void Draw(FViewport* Viewport,FCanvas* SceneCanvas) override;
181 ENGINE_API virtual bool ProcessScreenShots(FViewport* Viewport) override;
182 ENGINE_API virtual TOptional<bool> QueryShowFocus(const EFocusCause InFocusCause) const override;
183 ENGINE_API virtual void LostFocus(FViewport* Viewport) override;
184 ENGINE_API virtual void ReceivedFocus(FViewport* Viewport) override;
185 ENGINE_API virtual bool IsFocused(FViewport* Viewport) override;
187 ENGINE_API virtual void Deactivated(FViewport* InViewport, const FWindowActivateEvent& InActivateEvent) override;
188 ENGINE_API virtual bool IsInPermanentCapture() override;
189 ENGINE_API virtual bool WindowCloseRequested() override;
190 ENGINE_API virtual void CloseRequested(FViewport* Viewport) override;
191 virtual bool RequiresHitProxyStorage() override { return 0; }
192 ENGINE_API virtual bool IsOrtho() const override;
193 ENGINE_API virtual void MouseEnter(FViewport* Viewport, int32 x, int32 y) override;
194 ENGINE_API virtual void MouseLeave(FViewport* Viewport) override;
195 ENGINE_API virtual void SetIsSimulateInEditorViewport(bool bInIsSimulateInEditorViewport) override;
196
197 //~ End FViewportClient Interface.
198
201 {}
202
203 //~ Begin FExec Interface.
204#if UE_ALLOW_EXEC_COMMANDS
205 ENGINE_API virtual bool Exec( UWorld* InWorld, const TCHAR* Cmd,FOutputDevice& Ar) override;
206#endif
207protected:
208 ENGINE_API virtual bool Exec_Runtime( UWorld* InWorld, const TCHAR* Cmd,FOutputDevice& Ar) override;
209 //~ End FExec Interface.
210
211public:
215 ENGINE_API bool TryToggleFullscreenOnInputKey(FKey Key, EInputEvent EventType);
216
218 ENGINE_API virtual void RemapControllerInput(FInputKeyEventArgs& InOutKeyEvent);
219
223 ENGINE_API bool HandleForceFullscreenCommand( const TCHAR* Cmd, FOutputDevice& Ar );
224 ENGINE_API bool HandleShowCommand( const TCHAR* Cmd, FOutputDevice& Ar, UWorld* InWorld );
225 ENGINE_API bool HandleShowLayerCommand( const TCHAR* Cmd, FOutputDevice& Ar, UWorld* InWorld );
226 ENGINE_API bool HandleViewModeCommand( const TCHAR* Cmd, FOutputDevice& Ar, UWorld* InWorld );
227 ENGINE_API bool HandleNextViewModeCommand( const TCHAR* Cmd, FOutputDevice& Ar, UWorld* InWorld );
228 ENGINE_API bool HandlePrevViewModeCommand( const TCHAR* Cmd, FOutputDevice& Ar, UWorld* InWorld );
229 ENGINE_API bool HandlePreCacheCommand( const TCHAR* Cmd, FOutputDevice& Ar );
230 ENGINE_API bool HandleToggleFullscreenCommand();
231 ENGINE_API bool HandleSetResCommand( const TCHAR* Cmd, FOutputDevice& Ar );
232 ENGINE_API bool HandleHighresScreenshotCommand( const TCHAR* Cmd, FOutputDevice& Ar );
233 ENGINE_API bool HandleHighresScreenshotUICommand( const TCHAR* Cmd, FOutputDevice& Ar );
234 ENGINE_API bool HandleScreenshotCommand( const TCHAR* Cmd, FOutputDevice& Ar );
235 ENGINE_API bool HandleBugScreenshotwithHUDInfoCommand( const TCHAR* Cmd, FOutputDevice& Ar );
236 ENGINE_API bool HandleBugScreenshotCommand( const TCHAR* Cmd, FOutputDevice& Ar );
237 ENGINE_API bool HandleKillParticlesCommand( const TCHAR* Cmd, FOutputDevice& Ar );
238 ENGINE_API bool HandleForceSkelLODCommand( const TCHAR* Cmd, FOutputDevice& Ar, UWorld* InWorld );
239 ENGINE_API bool HandleDisplayCommand( const TCHAR* Cmd, FOutputDevice& Ar );
240 ENGINE_API bool HandleDisplayAllCommand( const TCHAR* Cmd, FOutputDevice& Ar );
241 ENGINE_API bool HandleDisplayAllLocationCommand( const TCHAR* Cmd, FOutputDevice& Ar );
242 ENGINE_API bool HandleDisplayAllRotationCommand( const TCHAR* Cmd, FOutputDevice& Ar );
243 ENGINE_API bool HandleDisplayClearCommand( const TCHAR* Cmd, FOutputDevice& Ar );
244 ENGINE_API bool HandleGetAllLocationCommand( const TCHAR* Cmd, FOutputDevice& Ar );
245 ENGINE_API bool HandleGetAllRotationCommand( const TCHAR* Cmd, FOutputDevice& Ar );
246 ENGINE_API bool HandleTextureDefragCommand( const TCHAR* Cmd, FOutputDevice& Ar );
247 ENGINE_API bool HandleToggleMIPFadeCommand( const TCHAR* Cmd, FOutputDevice& Ar );
248 ENGINE_API bool HandlePauseRenderClockCommand( const TCHAR* Cmd, FOutputDevice& Ar );
249
256 ENGINE_API virtual void AddViewportWidgetContent( TSharedRef<class SWidget> ViewportContent, const int32 ZOrder = 0 );
257
263 ENGINE_API virtual void RemoveViewportWidgetContent( TSharedRef<class SWidget> ViewportContent );
264
273 ENGINE_API virtual void AddViewportWidgetForPlayer(ULocalPlayer* Player, TSharedRef<SWidget> ViewportContent, const int32 ZOrder);
274
281 ENGINE_API virtual void RemoveViewportWidgetForPlayer(ULocalPlayer* Player, TSharedRef<SWidget> ViewportContent);
282
286 ENGINE_API void RemoveAllViewportWidgets();
287
294 ENGINE_API virtual void AddGameLayerWidget(TSharedRef<SWidget> ViewportContent, const int32 ZOrder);
295
301 ENGINE_API virtual void RemoveGameLayerWidget(TSharedRef<SWidget> ViewportContent);
302
306 ENGINE_API void RebuildCursors();
307
312 ENGINE_API virtual void DetachViewportClient();
313
318 ENGINE_API virtual void Tick( float DeltaTime );
319
324 ENGINE_API virtual bool RequiresUncapturedAxisInput() const override;
325
330 ENGINE_API virtual void SetViewportFrame( FViewportFrame* InViewportFrame );
331
336 ENGINE_API virtual void SetViewport( FViewport* InViewportFrame );
337
340
343
348 {
349 return GameLayerManagerPtr.Pin();
350 }
351
354 {
355 return Window.Pin();
356 }
357
364 ENGINE_API virtual void SetDropDetail(float DeltaSeconds);
365
371 ENGINE_API virtual FString ConsoleCommand( const FString& Command );
372
378 ENGINE_API void GetViewportSize( FVector2D& ViewportSize ) const;
379
381 ENGINE_API bool IsFullScreenViewport() const;
382
384 ENGINE_API bool IsExclusiveFullscreenViewport() const;
385
387 ENGINE_API virtual bool GetMousePosition(FVector2D& MousePosition) const;
388
394 ENGINE_API bool ShouldForceFullscreenViewport() const;
395
401 ENGINE_API virtual ULocalPlayer* SetupInitialLocalPlayer(FString& OutError);
402
405 {
406 return ActiveSplitscreenType;
407 }
408
413 ENGINE_API virtual void UpdateActiveSplitscreenType();
414
416 ENGINE_API virtual void LayoutPlayers();
417
419 ENGINE_API void SetForceDisableSplitscreen(const bool bDisabled);
420
423 {
424 return bDisableSplitScreenOverride;
425 }
426
431 ENGINE_API virtual void GetSubtitleRegion(FVector2D& MinPos, FVector2D& MaxPos);
432
438 ENGINE_API int32 ConvertLocalPlayerToGamePlayerIndex( ULocalPlayer* LPlayer );
439
441 ENGINE_API bool HasTopSafeZone( int32 LocalPlayerIndex );
442
444 ENGINE_API bool HasBottomSafeZone( int32 LocalPlayerIndex );
445
447 ENGINE_API bool HasLeftSafeZone( int32 LocalPlayerIndex );
448
450 ENGINE_API bool HasRightSafeZone( int32 LocalPlayerIndex );
451
456 ENGINE_API void GetPixelSizeOfScreen( float& Width, float& Height, UCanvas* Canvas, int32 LocalPlayerIndex );
457
459 ENGINE_API void CalculateSafeZoneValues( FMargin& SafeZone, UCanvas* Canvas, int32 LocalPlayerIndex, bool bUseMaxPercent );
460
465 ENGINE_API bool CalculateDeadZoneForAllSides( ULocalPlayer* LPlayer, UCanvas* Canvas, float& fTopSafeZone, float& fBottomSafeZone, float& fLeftSafeZone, float& fRightSafeZone, bool bUseMaxPercent = false );
466
472 ENGINE_API virtual void DrawTitleSafeArea( UCanvas* Canvas );
473
480 ENGINE_API virtual void PostRender( UCanvas* Canvas );
481
487 ENGINE_API virtual void DrawTransition( UCanvas* Canvas );
488
495 ENGINE_API virtual void DrawTransitionMessage( UCanvas* Canvas, const FString& Message );
496
503 ENGINE_API virtual void NotifyPlayerAdded( int32 PlayerIndex, class ULocalPlayer* AddedPlayer );
504
511 ENGINE_API virtual void NotifyPlayerRemoved( int32 PlayerIndex, class ULocalPlayer* RemovedPlayer );
512
520 ENGINE_API virtual void PeekTravelFailureMessages(UWorld* InWorld, enum ETravelFailure::Type FailureType, const FString& ErrorString);
521
531 ENGINE_API virtual void PeekNetworkFailureMessages(UWorld *InWorld, UNetDriver *NetDriver, enum ENetworkFailure::Type FailureType, const FString& ErrorString);
532
534 ENGINE_API virtual void VerifyPathRenderingComponents();
535
538 {
539 return ScreenshotCapturedDelegate;
540 }
541
544 {
545 return ViewportRenderedDelegate;
546 }
547
548 /* Accessor for the delegate called when a viewport is asked to close. */
550 {
551 return CloseRequestedDelegate;
552 }
553
556 {
557 return WindowCloseRequestedDelegate;
558 }
559
562 {
563 return CreatedDelegate;
564 }
565
566 // Accessor for the delegate called when a player is added to the game viewport
568 {
569 return PlayerAddedDelegate;
570 }
571
572 // Accessor for the delegate called when a player is removed from the game viewport
574 {
575 return PlayerRemovedDelegate;
576 }
577
578 // Accessor for the delegate called when the engine starts drawing a game viewport
580 {
581 return BeginDrawDelegate;
582 }
583
584 // Accessor for the delegate called when the game viewport is drawn, before drawing the console
586 {
587 return DrawnDelegate;
588 }
589
590 // Accessor for the delegate called when the engine finishes drawing a game viewport
592 {
593 return EndDrawDelegate;
594 }
595
596 // Accessor for the delegate called when ticking the game viewport
598 {
599 return TickDelegate;
600 }
601
604 {
605 return CustomNavigationEvent;
606 }
607
610 {
611 return OnOverrideInputKeyEvent;
612 }
613
616 {
617 return OnOverrideInputAxisEvent;
618 }
619
622 {
623 return OnInputKeyEvent;
624 }
625
628 {
629 return OnInputAxisEvent;
630 }
631
634 {
635 return &EngineShowFlags;
636 }
637
639 ENGINE_API void SetViewMode(EViewModeIndex ViewMode, FOutputDevice* Output = nullptr);
640
641 ENGINE_API bool SetHardwareCursor(EMouseCursor::Type CursorShape, FName GameContentPath, FVector2D HotSpot);
642
646 ENGINE_API bool IsSimulateInEditorViewport() const;
647
649 virtual bool ShouldDPIScaleSceneCanvas() const override { return false; }
650
651 ENGINE_API bool GetUseMouseForTouch() const;
652
654 FName GetCurrentBufferVisualizationMode() const { return CurrentBufferVisualizationMode; }
655
657 FName GetCurrentNaniteVisualizationMode() const { return CurrentNaniteVisualizationMode; }
658
660 FName GetCurrentLumenVisualizationMode() const { return CurrentLumenVisualizationMode; }
661
663 FName GetCurrentSubstrateVisualizationMode() const { return CurrentSubstrateVisualizationMode; }
664
666 FName GetCurrentGroomVisualizationMode() const { return CurrentGroomVisualizationMode; }
667
669 FName GetCurrentVirtualShadowMapVisualizationMode() const { return CurrentVirtualShadowMapVisualizationMode; }
670
671protected:
672 bool HasAudioFocus() const { return bHasAudioFocus; }
673
675 ENGINE_API void UpdateCsvCameraStats(const TMap<ULocalPlayer*, FSceneView*>& PlayerViewMap);
676
677protected:
679 ENGINE_API virtual float UpdateViewportClientWindowDPIScale() const override;
680
681public:
684
687
690
697 {
698 bSuppressTransitionMessage = bSuppress;
699 }
700
704 virtual FStatUnitData* GetStatUnitData() const override
705 {
706 return StatUnitData;
707 }
708
712 virtual FStatHitchesData* GetStatHitchesData() const override
713 {
714 return StatHitchesData;
715 }
716
720 virtual const TArray<FString>* GetEnabledStats() const override
721 {
722 return &EnabledStats;
723 }
724
730 ENGINE_API virtual void SetEnabledStats(const TArray<FString>& InEnabledStats) override;
731
737 virtual bool IsStatEnabled(const FString& InName) const override
738 {
739 return EnabledStats.Contains(InName);
740 }
741
746 {
747 bIgnoreInput = Ignore;
748 }
749
753 virtual bool IgnoreInput() override
754 {
755 return bIgnoreInput;
756 }
757
761 ENGINE_API void SetMouseCaptureMode(EMouseCaptureMode Mode);
762
766 ENGINE_API virtual EMouseCaptureMode GetMouseCaptureMode() const override;
767
774 ENGINE_API virtual bool CaptureMouseOnLaunch() override;
775
779 virtual bool LockDuringCapture() override
780 {
781 return MouseLockMode != EMouseLockMode::DoNotLock;
782 }
783
787 virtual bool ShouldAlwaysLockMouse() override
788 {
789 return MouseLockMode == EMouseLockMode::LockAlways
790 || (MouseLockMode == EMouseLockMode::LockInFullscreen && IsExclusiveFullscreenViewport());
791 }
792
796 ENGINE_API void SetMouseLockMode(EMouseLockMode InMouseLockMode);
797
801 ENGINE_API EMouseLockMode GetMouseLockMode() const;
802
806 ENGINE_API void SetHideCursorDuringCapture(bool InHideCursorDuringCapture);
807
811 virtual bool HideCursorDuringCapture() const override
812 {
813 return bHideCursorDuringCapture;
814 }
815
819 ENGINE_API virtual FPopupMethodReply OnQueryPopupMethod() const override;
820
824 ENGINE_API virtual bool HandleNavigation(const uint32 InUserIndex, TSharedPtr<SWidget> InDestination) override;
825
831 {
832 bUseSoftwareCursorWidgets = bInUseSoftwareCursorWidgets;
833 }
834
838 bool GetIsUsingSoftwareCursorWidgets() { return bUseSoftwareCursorWidgets; }
839
840#if WITH_EDITOR
843 {
845 }
846#endif
847
850 {
851 return ToggleFullscreenDelegate;
852 }
853
859 ENGINE_API bool SetDisplayConfiguration( const FIntPoint* Dimensions, EWindowMode::Type WindowMode);
860
861 UE_DEPRECATED(5.4, "SetVirtualCursorWidget is deprecated, use SetSoftwareCursorWidget instead.")
862 ENGINE_API void SetVirtualCursorWidget(EMouseCursor::Type Cursor, class UUserWidget* Widget);
863
865 UE_DEPRECATED(5.4, "AddSoftwareCursorFromSlateWidget is deprecated, use SetSoftwareCursorWidget instead.")
866 ENGINE_API void AddSoftwareCursorFromSlateWidget(EMouseCursor::Type InCursorType, TSharedPtr<SWidget> CursorWidgetPtr);
867
868 UE_DEPRECATED(5.4, "AddSoftwareCursor is deprecated, use SetSoftwareCursorWidget instead and pass the Created Widget instead of the UserWidget Class.")
869 ENGINE_API void AddSoftwareCursor(EMouseCursor::Type Cursor, const FSoftClassPath& CursorClass);
870
872 ENGINE_API void SetSoftwareCursorWidget(EMouseCursor::Type InCursorType, class UUserWidget* Widget);
873
875 ENGINE_API void SetSoftwareCursorWidget(EMouseCursor::Type InCursorType, TSharedPtr<SWidget> CursorWidgetPtr);
876
878 ENGINE_API TSharedPtr<SWidget> GetSoftwareCursorWidget(EMouseCursor::Type Cursor) const;
879
881 ENGINE_API bool HasSoftwareCursor(EMouseCursor::Type Cursor) const;
882
883 ENGINE_API void EnableCsvPlayerStats(int32 LocalPlayerCount);
884
885 ENGINE_API EViewStatusForScreenPercentage GetViewStatusForScreenPercentage() const;
886
887private:
889 ENGINE_API void ResetHardwareCursorStates();
890
892 void SetSoftwareCursorFromClassPath(EMouseCursor::Type Cursor, const FSoftClassPath& CursorClass);
893
897 int32 SetStatEnabled(const TCHAR* InName, const bool bEnable, const bool bAll = false)
898 {
899 if (bEnable)
900 {
901 check(!bAll); // Not possible to enable all
902 EnabledStats.AddUnique(InName);
903 }
904 else
905 {
906 if (bAll)
907 {
908 EnabledStats.Empty();
909 }
910 else
911 {
912 EnabledStats.Remove(InName);
913 }
914 }
915 return EnabledStats.Num();
916 }
917
919 ENGINE_API void ToggleShowVolumes();
920
922 ENGINE_API void ToggleShowCollision();
923
925 ENGINE_API void HandleViewportStatCheckEnabled(const TCHAR* InName, bool& bOutCurrentEnabled, bool& bOutOthersEnabled);
926
928 ENGINE_API void HandleViewportStatEnabled(const TCHAR* InName);
929
931 ENGINE_API void HandleViewportStatDisabled(const TCHAR* InName);
932
934 ENGINE_API void HandleViewportStatDisableAll(const bool bInAnyViewport);
935
937 ENGINE_API void HandleWindowDPIScaleChanged(TSharedRef<SWindow> InWindow);
938
939 struct FPngFileData
940 {
941 FString FileName;
942 double ScaleFactor;
944
945 FPngFileData()
946 : ScaleFactor(1.0)
947 {
948 }
949 };
950
952 ENGINE_API void* LoadCursorFromPngs(ICursor& PlatformCursor, const FString& InPathToCursorWithoutExtension, FVector2D InHotSpot);
953
955 ENGINE_API bool LoadAvailableCursorPngs(TArray<TSharedPtr<FPngFileData>>& Results, const FString& InPathToCursorWithoutExtension);
956
966 ENGINE_API void AddDebugDisplayProperty(class UObject* Obj, TSubclassOf<class UObject> WithinClass, const FName& PropertyName, bool bSpecialProperty = false);
967
968protected:
970 uint32 AudioDeviceHandle = uint32(INDEX_NONE);
971
973 bool bHasAudioFocus = false;
974
975private:
978
980 TWeakPtr<SOverlay> ViewportOverlayWidget;
981
983 TWeakPtr<IGameLayerManager> GameLayerManagerPtr;
984
986 FName CurrentBufferVisualizationMode;
987
989 FName CurrentNaniteVisualizationMode;
990
992 FName CurrentLumenVisualizationMode;
993
995 FName CurrentSubstrateVisualizationMode;
996
998 FName CurrentGroomVisualizationMode;
999
1001 FName CurrentVirtualShadowMapVisualizationMode;
1002
1004 TWeakPtr<SWindow> HighResScreenshotDialog;
1005
1007 TMap<FName, void*> HardwareCursorCache;
1008
1010 TMap<EMouseCursor::Type, void*> HardwareCursors;
1011
1014
1016 bool bUseSoftwareCursorWidgets;
1017
1018 /* Function that handles bug screen-shot requests w/ or w/o extra HUD info (project-specific) */
1019 ENGINE_API bool RequestBugScreenShot(const TCHAR* Cmd, bool bDisplayHUDInfo);
1020
1021#if WITH_EDITOR
1024#endif
1025
1027 static ENGINE_API FOnScreenshotCaptured ScreenshotCapturedDelegate;
1028
1030 static ENGINE_API FOnViewportRendered ViewportRenderedDelegate;
1031
1033 FOnCloseRequested CloseRequestedDelegate;
1034
1036 FOnWindowCloseRequested WindowCloseRequestedDelegate;
1037
1039 static ENGINE_API FSimpleMulticastDelegate CreatedDelegate;
1040
1042 FOnGameViewportClientPlayerAction PlayerAddedDelegate;
1043
1045 FOnGameViewportClientPlayerAction PlayerRemovedDelegate;
1046
1048 FSimpleMulticastDelegate BeginDrawDelegate;
1049
1051 FSimpleMulticastDelegate DrawnDelegate;
1052
1054 FSimpleMulticastDelegate EndDrawDelegate;
1055
1057 FOnGameViewportTick TickDelegate;
1058
1060 FOnToggleFullscreen ToggleFullscreenDelegate;
1061
1063 FCustomNavigationHandler CustomNavigationEvent;
1064
1066 FOverrideInputKeyHandler OnOverrideInputKeyEvent;
1067
1069 FOverrideInputAxisHandler OnOverrideInputAxisEvent;
1070
1072 FOnInputKeySignature OnInputKeyEvent;
1073
1075 FOnInputAxisSignature OnInputAxisEvent;
1076
1078 FStatUnitData* StatUnitData;
1079
1081 FStatHitchesData* StatHitchesData;
1082
1084 static ENGINE_API TArray<FString> EnabledStats;
1085
1087 bool bDisableSplitScreenOverride;
1088
1090 bool bIgnoreInput;
1091
1093 EMouseCaptureMode MouseCaptureMode;
1094
1096 bool bHideCursorDuringCapture;
1097
1099 EMouseLockMode MouseLockMode;
1100
1102 bool bIsMouseOverClient;
1103
1104#if WITH_EDITOR
1107#endif
1108};
PlayerIndex
Definition AppleControllerInterface.h:24
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal_OneParam(ReturnValueType, DelegateName, Param1Type)
Definition DelegateCombinations.h:54
#define DECLARE_DELEGATE_RetVal_FourParams(ReturnValueType, DelegateName, Param1Type, Param2Type, Param3Type, Param4Type)
Definition DelegateCombinations.h:81
#define DECLARE_DELEGATE_RetVal_TwoParams(ReturnValueType, DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:63
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define DECLARE_MULTICAST_DELEGATE_SevenParams(DelegateName, Param1Type, Param2Type, Param3Type, Param4Type, Param5Type, Param6Type, Param7Type)
Definition DelegateCombinations.h:103
EInputEvent
Definition EngineBaseTypes.h:31
EMouseLockMode
Definition EngineBaseTypes.h:57
EViewModeIndex
Definition EngineBaseTypes.h:962
EMouseCaptureMode
Definition EngineBaseTypes.h:42
EFocusCause
Definition Events.h:25
return true
Definition ExternalRpcRegistry.cpp:601
#define X(Name, Desc)
Definition FormatStringSan.h:47
EViewStatusForScreenPercentage
Definition LegacyScreenPercentageDriver.h:47
void Init()
Definition LockFreeList.h:4
#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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Engine.Build.cs:7
Definition AudioDeviceHandle.h:28
Definition CanvasTypes.h:211
Definition CursorReply.h:16
Definition IDelegateInstance.h:14
Definition Exec.h:29
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition OutputDevice.h:133
Definition PopupMethodReply.h:24
Definition SceneView.h:2212
Definition SceneView.h:1425
Definition SceneViewport.h:35
Definition ObjectMacros.h:180
Definition UnrealClient.h:180
Definition UnrealClient.h:412
Definition Events.h:1206
Definition ICursor.h:70
Definition SGameLayerManager.h:58
Definition SOverlay.h:44
Definition SViewport.h:31
Definition SWidget.h:165
Definition SWindow.h:243
Definition Array.h:670
Definition EnumAsByte.h:22
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SubclassOf.h:30
Definition SharedPointer.h:1295
Definition Canvas.h:159
Definition Console.h:69
Definition GameInstance.h:152
Definition GameViewportClient.h:71
FOnGameViewportTick & OnTick()
Definition GameViewportClient.h:597
FName GetCurrentVirtualShadowMapVisualizationMode() const
Definition GameViewportClient.h:669
static FOnScreenshotCaptured & OnScreenshotCaptured()
Definition GameViewportClient.h:537
virtual FStatHitchesData * GetStatHitchesData() const override
Definition GameViewportClient.h:712
void SetUseSoftwareCursorWidgets(bool bInUseSoftwareCursorWidgets)
Definition GameViewportClient.h:830
FName GetCurrentBufferVisualizationMode() const
Definition GameViewportClient.h:654
virtual void FinalizeViews(class FSceneViewFamily *ViewFamily, const TMap< ULocalPlayer *, FSceneView * > &PlayerViewMap)
Definition GameViewportClient.h:200
FOnToggleFullscreen & OnToggleFullscreen()
Definition GameViewportClient.h:849
void SetCurrentNaniteVisualizationMode(FName NewNaniteVisualizationMode)
Definition GameViewportClient.h:656
virtual FEngineShowFlags * GetEngineShowFlags() override
Definition GameViewportClient.h:633
virtual bool HideCursorDuringCapture() const override
Definition GameViewportClient.h:811
FName GetCurrentLumenVisualizationMode() const
Definition GameViewportClient.h:660
FOnInputAxisSignature & OnInputAxis()
Definition GameViewportClient.h:627
void SetSuppressTransitionMessage(bool bSuppress)
Definition GameViewportClient.h:696
FOnGameViewportClientPlayerAction & OnPlayerRemoved()
Definition GameViewportClient.h:573
bool IsSplitscreenForceDisabled() const
Definition GameViewportClient.h:422
FEngineShowFlags EngineShowFlags
Definition GameViewportClient.h:683
FOverrideInputAxisHandler & OnOverrideInputAxis()
Definition GameViewportClient.h:615
FViewport * Viewport
Definition GameViewportClient.h:686
void SetCurrentGroomVisualizationMode(FName NewGroomVisualizationMode)
Definition GameViewportClient.h:665
TSharedPtr< SWindow > GetWindow()
Definition GameViewportClient.h:353
FOnInputKeySignature & OnInputKey()
Definition GameViewportClient.h:621
FOnGameViewportClientPlayerAction & OnPlayerAdded()
Definition GameViewportClient.h:567
static FOnViewportRendered & OnViewportRendered()
Definition GameViewportClient.h:543
FSimpleMulticastDelegate & OnEndDraw()
Definition GameViewportClient.h:591
FCustomNavigationHandler & OnNavigationOverride()
Definition GameViewportClient.h:603
virtual bool ShouldDPIScaleSceneCanvas() const override
Definition GameViewportClient.h:649
FOnWindowCloseRequested & OnWindowCloseRequested()
Definition GameViewportClient.h:555
FViewportFrame * ViewportFrame
Definition GameViewportClient.h:689
void SetCurrentSubstrateVisualizationMode(FName NewSubstrateVisualizationMode)
Definition GameViewportClient.h:662
FOverrideInputKeyHandler & OnOverrideInputKey()
Definition GameViewportClient.h:609
virtual bool IgnoreInput() override
Definition GameViewportClient.h:753
FOnCloseRequested & OnCloseRequested()
Definition GameViewportClient.h:549
FName GetCurrentSubstrateVisualizationMode() const
Definition GameViewportClient.h:663
virtual const TArray< FString > * GetEnabledStats() const override
Definition GameViewportClient.h:720
TSharedPtr< IGameLayerManager > GetGameLayerManager() const
Definition GameViewportClient.h:347
FName GetCurrentNaniteVisualizationMode() const
Definition GameViewportClient.h:657
ESplitScreenType::Type GetCurrentSplitscreenConfiguration() const
Definition GameViewportClient.h:404
void SetCurrentLumenVisualizationMode(FName NewLumenVisualizationMode)
Definition GameViewportClient.h:659
bool HasAudioFocus() const
Definition GameViewportClient.h:672
bool GetIsUsingSoftwareCursorWidgets()
Definition GameViewportClient.h:838
FSimpleMulticastDelegate & OnBeginDraw()
Definition GameViewportClient.h:579
void SetIgnoreInput(bool Ignore)
Definition GameViewportClient.h:745
static FSimpleMulticastDelegate & OnViewportCreated()
Definition GameViewportClient.h:561
virtual FStatUnitData * GetStatUnitData() const override
Definition GameViewportClient.h:704
virtual bool IsStatEnabled(const FString &InName) const override
Definition GameViewportClient.h:737
virtual bool RequiresHitProxyStorage() override
Definition GameViewportClient.h:191
virtual bool LockDuringCapture() override
Definition GameViewportClient.h:779
void SetCurrentBufferVisualizationMode(FName NewBufferVisualizationMode)
Definition GameViewportClient.h:653
virtual bool ShouldAlwaysLockMouse() override
Definition GameViewportClient.h:787
FName GetCurrentGroomVisualizationMode() const
Definition GameViewportClient.h:666
void SetCurrentVirtualShadowMapVisualizationMode(FName NewVirtualShadowMapVisualizationMode)
Definition GameViewportClient.h:668
FSimpleMulticastDelegate & OnDrawn()
Definition GameViewportClient.h:585
Definition LocalPlayer.h:169
Definition NetDriver.h:799
Definition Object.h:95
Definition ScriptViewportClient.h:18
Definition UserWidget.h:284
Definition World.h:918
Definition ICursor.h:16
Type
Definition ICursor.h:18
Type
Definition NetEnums.h:24
Definition ViewportSplitScreen.h:22
Type
Definition ViewportSplitScreen.h:24
Type
Definition InputCoreTypes.h:775
Type
Definition EngineBaseTypes.h:660
Type
Definition GenericWindow.h:17
@ false
Definition radaudio_common.h:23
Definition DebugDisplayProperty.h:20
Definition ShowFlags.h:56
Definition CoreMiscDefines.h:524
Definition InputKeyEventArgs.h:26
Definition InputCoreTypes.h:50
Definition Margin.h:17
Definition SoftObjectPath.h:539
Definition ViewportSplitScreen.h:79
Definition UnrealClient.h:385
Definition UnrealClient.h:284
Definition Engine.h:334
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition IntPoint.h:25