UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GameEngine.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"
7#include "Widgets/SWindow.h"
8#include "Widgets/SViewport.h"
9#include "Engine/Engine.h"
11#include "Templates/PimplPtr.h"
12#include "GameEngine.generated.h"
13
14class Error;
16class FSceneViewport;
18class UNetDriver;
19
23UCLASS(config=Engine, transient, MinimalAPI)
26{
28
29
30 UPROPERTY(config)
31 float MaxDeltaTime;
32
34 UPROPERTY(config)
35 float ServerFlushLogInterval;
36
38 TObjectPtr<UGameInstance> GameInstance;
39
40public:
41
48
55 ENGINE_API void CreateGameViewportWidget( UGameViewportClient* GameViewportClient );
56
63 ENGINE_API void CreateGameViewport( UGameViewportClient* GameViewportClient );
64
68 static ENGINE_API TSharedRef<SWindow> CreateGameWindow();
69
71
77 static ENGINE_API void EnableGameWindowSettingsOverride(bool bEnabled);
78
87 static ENGINE_API void ConditionallyOverrideSettings( int32& ResolutionX, int32& ResolutionY, EWindowMode::Type& WindowMode );
88
97 static ENGINE_API void DetermineGameWindowResolution( int32& ResolutionX, int32& ResolutionY, EWindowMode::Type& WindowMode, bool bUseWorkAreaForWindowed = false );
98
103 ENGINE_API void SwitchGameWindowToUseGameViewport();
104
108 ENGINE_API void OnGameWindowClosed( const TSharedRef<SWindow>& WindowBeingClosed );
109
113 UE_DEPRECATED(5.6, "Replaced by private OnGameWindowMoved_SavePosition function.")
114 ENGINE_API void OnGameWindowMoved( const TSharedRef<SWindow>& WindowBeingMoved );
115
120 ENGINE_API virtual void RedrawViewports( bool bShouldPresent = true ) override;
121
122 ENGINE_API void OnViewportResized(FViewport* Viewport, uint32 Unused);
123
127 ENGINE_API void OnGPUCrash();
128
129public:
130
131 // UObject interface
132
134
135public:
136
137 // UEngine interface
138
140 ENGINE_API virtual void Start() override;
141 ENGINE_API virtual void PreExit() override;
142 ENGINE_API virtual void Tick( float DeltaSeconds, bool bIdleMode ) override;
143 ENGINE_API virtual float GetMaxTickRate( float DeltaTime, bool bAllowFrameRateSmoothing = true ) const override;
144 ENGINE_API virtual void ProcessToggleFreezeCommand( UWorld* InWorld ) override;
145 ENGINE_API virtual void ProcessToggleFreezeStreamingCommand( UWorld* InWorld ) override;
146 ENGINE_API virtual bool NetworkRemapPath(UNetConnection* Connection, FString& Str, bool bReading = true) override;
147 ENGINE_API virtual bool ShouldDoAsyncEndOfFrameTasks() const override;
148
149public:
150
151 // FExec interface
152#if UE_ALLOW_EXEC_COMMANDS
153 ENGINE_API virtual bool Exec( UWorld* InWorld, const TCHAR* Cmd, FOutputDevice& Ar=*GLog ) override;
154#endif
155
156public:
157
158 // Exec command handlers
160 ENGINE_API bool HandleExitCommand( const TCHAR* Cmd, FOutputDevice& Ar );
161 ENGINE_API bool HandleMinimizeCommand( const TCHAR *Cmd, FOutputDevice &Ar );
162 ENGINE_API bool HandleGetMaxTickRateCommand( const TCHAR* Cmd, FOutputDevice& Ar );
163 ENGINE_API bool HandleCancelCommand( const TCHAR* Cmd, FOutputDevice& Ar, UWorld* InWorld );
164
165#if !UE_BUILD_SHIPPING
166 ENGINE_API bool HandleApplyUserSettingsCommand( const TCHAR* Cmd, FOutputDevice& Ar );
167#endif // !UE_BUILD_SHIPPING
168
171 {
172 return GameViewportWidget;
173 }
174
180 ENGINE_API UWorld* GetGameWorld();
181
182protected:
183
184 ENGINE_API FSceneViewport* GetGameSceneViewport(UGameViewportClient* ViewportClient) const;
185
188
189 ENGINE_API virtual void HandleBrowseToDefaultMapFailure(FWorldContext& Context, const FString& TextURL, const FString& Error) override;
190
191private:
192
193 ENGINE_API virtual void HandleNetworkFailure_NotifyGameInstance(UWorld* World, UNetDriver* NetDriver, ENetworkFailure::Type FailureType) override;
194 ENGINE_API virtual void HandleTravelFailure_NotifyGameInstance(UWorld* World, ETravelFailure::Type FailureType) override;
195
199 void OnGameWindowMoved_SavePosition(const TSharedRef<SWindow>& WindowBeingMoved, int32 SaveWinPosIndex);
200
202 double LastTimeLogsFlushed;
203
205};
#define GLog
Definition CoreGlobals.h:95
#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
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
void Init()
Definition LockFreeList.h:4
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#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 EngineConsoleCommandExecutor.h:10
virtual CORE_API bool Exec(UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
Definition Exec.cpp:30
Definition OutputDevice.h:133
Definition SceneViewport.h:35
Definition UnrealClient.h:412
Definition UnrealEngine.h:384
Definition SWindow.h:243
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
Definition Engine.h:711
Definition GameEngine.h:26
static ENGINE_API void SafeFrameChanged()
TSharedPtr< class SViewport > GameViewportWidget
Definition GameEngine.h:47
TWeakPtr< class SWindow > GameViewportWindow
Definition GameEngine.h:43
FMovieSceneCaptureHandle StartupMovieCaptureHandle
Definition GameEngine.h:187
ENGINE_API bool HandleCommand(const TCHAR *Cmd, FOutputDevice &Ar)
virtual TSharedPtr< SViewport > GetGameViewportWidget() const override
Definition GameEngine.h:170
TSharedPtr< class FSceneViewport > SceneViewport
Definition GameEngine.h:45
Definition GameViewportClient.h:71
Definition NetConnection.h:284
Definition NetDriver.h:799
virtual ENGINE_API void FinishDestroy() override
Definition NetDriver.cpp:3581
Definition World.h:918
Type
Definition NetEnums.h:24
Type
Definition EngineBaseTypes.h:660
Type
Definition GenericWindow.h:17
Definition MovieSceneCaptureHandle.h:9
Definition Engine.h:334
Definition ObjectPtr.h:488
Definition PimplPtr.h:50