UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GameNetworkManager.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"
9#include "GameNetworkManager.generated.h"
10
12UENUM()
20
21
26UCLASS(config=Game, notplaceable, MinimalAPI)
28{
30
31 //======================================================================================================================
32 // Analytics
33
34 /* If packet loss goes over this value, we have bad packet loss. Value is between 0 and 1.*/
35 UPROPERTY(GlobalConfig)
36 float BadPacketLossThreshold = 0.05f;
37
38 /* If the packet loss goes over this threshold, we have severe packet loss. Value is between 0 and 1*/
39 UPROPERTY(GlobalConfig)
40 float SeverePacketLossThreshold = 0.15f;
41
43 UPROPERTY(GlobalConfig)
44 int32 BadPingThreshold;
45
47 UPROPERTY(GlobalConfig)
48 int32 SeverePingThreshold;
49
50 //======================================================================================================================
51 // Listen/dedicated server dynamic bandwidth (NetSpeed) adjustment
52
54 UPROPERTY()
55 int32 AdjustedNetSpeed;
56
58 UPROPERTY()
59 float LastNetSpeedUpdateTime;
60
63 int32 TotalNetBandwidth;
64
67 int32 MinDynamicBandwidth;
68
71 int32 MaxDynamicBandwidth;
72
73 //======================================================================================================================
74 // Standby cheat detection
75
77 UPROPERTY(config)
78 uint32 bIsStandbyCheckingEnabled:1;
79
81 UPROPERTY()
82 uint32 bHasStandbyCheatTriggered:1;
83
85 UPROPERTY(config)
86 float StandbyRxCheatTime;
87
89 UPROPERTY(config)
90 float StandbyTxCheatTime;
91
93 UPROPERTY(config)
94 float PercentMissingForRxStandby;
95
97 UPROPERTY(config)
98 float PercentMissingForTxStandby;
99
101 UPROPERTY(config)
102 float PercentForBadPing;
103
105 UPROPERTY(config)
106 float JoinInProgressStandbyWaitTime;
107
108 //======================================================================================================================
109 // Player replication
110
112 UPROPERTY(GlobalConfig)
113 float MoveRepSize;
114
116 UPROPERTY(GlobalConfig)
117 float MAXPOSITIONERRORSQUARED;
118
120 UPROPERTY(GlobalConfig)
121 float MAXNEARZEROVELOCITYSQUARED;
122
125 UPROPERTY(GlobalConfig)
126 float CLIENTADJUSTUPDATECOST;
127
129 UPROPERTY(GlobalConfig)
130 float MAXCLIENTUPDATEINTERVAL;
131
133 UPROPERTY(GlobalConfig)
134 float MaxClientForcedUpdateDuration;
135
137 UPROPERTY(GlobalConfig)
138 float ServerForcedUpdateHitchThreshold;
139
141 UPROPERTY(GlobalConfig)
142 float ServerForcedUpdateHitchCooldown;
143
145 UPROPERTY(GlobalConfig)
146 float MaxMoveDeltaTime;
147
149 UPROPERTY(GlobalConfig)
150 float MaxClientSmoothingDeltaTime;
151
156 UPROPERTY(GlobalConfig)
157 float ClientNetSendMoveDeltaTime;
158
160 UPROPERTY(GlobalConfig)
161 float ClientNetSendMoveDeltaTimeThrottled;
162
164 UPROPERTY(GlobalConfig)
165 float ClientNetSendMoveDeltaTimeStationary;
166
168 UPROPERTY(GlobalConfig)
169 int32 ClientNetSendMoveThrottleAtNetSpeed;
170
172 UPROPERTY(GlobalConfig)
173 int32 ClientNetSendMoveThrottleOverPlayerCount;
174
176 UPROPERTY(GlobalConfig)
177 float ClientErrorUpdateRateLimit;
178
180 UPROPERTY(GlobalConfig)
181 float ClientNetCamUpdateDeltaTime;
182
184 UPROPERTY(GlobalConfig)
185 float ClientNetCamUpdatePositionLimit;
186
188 UPROPERTY(GlobalConfig)
189 bool ClientAuthorativePosition;
190
191 //======================================================================================================================
192 // Movement Time Discrepancy settings for Characters (speed hack detection and prevention)
193
195 UPROPERTY(GlobalConfig)
196 bool bMovementTimeDiscrepancyDetection;
197
199 UPROPERTY(GlobalConfig)
200 bool bMovementTimeDiscrepancyResolution;
201
203 UPROPERTY(GlobalConfig)
204 float MovementTimeDiscrepancyMaxTimeMargin;
205
207 UPROPERTY(GlobalConfig)
208 float MovementTimeDiscrepancyMinTimeMargin;
209
217 UPROPERTY(GlobalConfig)
218 float MovementTimeDiscrepancyResolutionRate;
219
237 UPROPERTY(GlobalConfig)
238 float MovementTimeDiscrepancyDriftAllowance;
239
244 UPROPERTY(GlobalConfig)
245 bool bMovementTimeDiscrepancyForceCorrectionsDuringResolution;
246
248 ENGINE_API virtual void UpdateNetSpeeds(bool bIsLanMatch);
249
251 ENGINE_API virtual void UpdateNetSpeedsTimer();
252
254 ENGINE_API virtual bool IsInLowBandwidthMode();
255
256 //======================================================================================================================
257 // Player replication
258
260 ENGINE_API virtual bool WithinUpdateDelayBounds(class APlayerController* PC, float LastUpdateTime) const;
261
263 ENGINE_API virtual bool ExceedsAllowablePositionError(FVector LocDiff) const;
264
266 ENGINE_API virtual bool NetworkVelocityNearZero(FVector InVelocity) const;
267 ENGINE_API virtual void PostInitializeComponents() override;
268
270 ENGINE_API virtual int32 CalculatedNetSpeed();
271
272 //======================================================================================================================
273 // Standby cheat detection
278 ENGINE_API virtual void EnableStandbyCheatDetection(bool bIsEnabled);
279
284 ENGINE_API virtual void StandbyCheatDetected(EStandbyType StandbyType);
285
288 bool bUseDistanceBasedRelevancy;
289
290protected:
291
294};
295
296
297
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
EStandbyType
Definition GameNetworkManager.h:14
@ STDBY_BadPing
Definition GameNetworkManager.h:17
@ STDBY_Rx
Definition GameNetworkManager.h:15
@ STDBY_MAX
Definition GameNetworkManager.h:18
@ STDBY_Tx
Definition GameNetworkManager.h:16
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition GameNetworkManager.h:28
FTimerHandle TimerHandle_UpdateNetSpeedsTimer
Definition GameNetworkManager.h:293
Definition PlayerController.h:261
Definition TimerHandle.h:12