description:
Sends a bunch over the control channel
Whether or not the bunch was sent successfully

code: bool SendControlBunch ( [FOutBunch](API\Runtime\Engine\Net\FOutBunch) * ControlChanBunch )


description: Sends the packet for triggering the initial join (usually is delayed, by thePacketHandler)

module: NetcodeUnitTest

code: void SendInitialJoin()


description:
Sends a raw packet bunch, directly to the NetConnection, with the option of automatically splitting into partial bunches.
Whether or not the bunch was sent successfully

code: bool SendRawBunch ( [FOutBunch](API\Runtime\Engine\Net\FOutBunch) & Bunch, bool bAllowPartial )


description:
As above, except optimized for use with reflection
Whether or not the RPC was sent successfully

code: bool SendRPCChecked ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Target, [FFuncReflection](API\Plugins\NetcodeUnitTest\FFuncReflection) & FuncRefl )


description:
Sends the specified RPC for the specified actor, and verifies that the RPC was sent (triggering RPCFailureDel if not)
Whether or not the RPC was sent successfully

code: bool SendRPCChecked ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Target, const TCHAR * FunctionName, void * Parms, int16 ParmsSize, int16 ParmsSizeCorrection )


description: Ticks the minimal client, through the owner unit tests UnitTick function

code: void UnitTick ( float DeltaTime )


description: Writes the NMT_Login message, as a part of SendInitialJoin (separated to make it overridable)

code: virtual void WriteControlLogin ( [FOutBunch](API\Runtime\Engine\Net\FOutBunch) * ControlChanBunch )


description: UMinimalClient

code: UMinimalClient ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMinimalClient

description: Base class for implementing a barebones/stripped-down game client, capable of connecting to a regular game server, but stripped/locked-down so that the absolute minimum of client/server netcode functionality is executed, for connecting the client.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UMinimalClient : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [FNetworkNotify](API\Runtime\Engine\Engine\FNetworkNotify), public [FProtMinClientParms](API\Plugins\NetcodeUnitTest\FProtMinClientParms), public [FProtMinClientHooks](API\Plugins\NetcodeUnitTest\FProtMinClientHooks), public [FUnitLogRedirect](API\Plugins\NetcodeUnitTest\FUnitLogRedirect)

bConnected

type: bool

description: Runtime variables Whether or not the minimal client is connected

bSentBunch

description: Whether or not a bunch was successfully sent

PendingNetActorChans

type: TArray< int32 >

description: If notifying of net actor creation, this keeps track of new actor channel indexes pending notification

UnitConn

type: TObjectPtr<UNe...

description: Stores a reference to the server connection

UnitNetDriver

description: Stores a reference to the created unit test net driver, for execution and later cleanup

UnitWorld

type: TObjectPtr<UWo...

description: Stores a reference to the created empty world, for execution and later cleanup


description: Interface and hooked events for client unit tests Override this, to implement the client unit test NOTE: Should be called last, in overridden functions IMPORTANT: EndUnitTest should be triggered, upon completion of the unit test (which may be delayed, for many unit tests)

code: virtual void ExecuteClientUnitTest()


description: Finishes initializing unit test settings, that rely upon the current unit test environment being loaded


description: Interface for process unit tests For implementation in subclasses, for helping to verify success/fail upon completion of unit tests NOTE: Not called again once VerificationState is set WARNING: Be careful when iterating InLogLines in multiple different for loops, if the sequence of detected logs is important

code: virtual void NotifyProcessLog ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > InProcess, const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & InLogLines )


description: UIPClient

code: UIPClient ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UIPClient

description: Basic unit test for launching a server and connecting a client, while verifying that the correct net driver was used, and that the client connected successfully.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UIPClient : public [UClientUnitTest](API\Plugins\NetcodeUnitTest\UClientUnitTest)

NetDriverLog

type: const TCHAR ...

description: Log message identifying the expected net driver


code: UPackedVectorTest ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UPackedVectorTest

description: Basic unit test for WritePackedValue and ReadPackedValue

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UPackedVectorTest : public [UUnitTest](API\Plugins\NetcodeUnitTest\UUnitTest)


description:
Connects a minimal client, to the launched/launching server
Whether or not the connection kicked off successfully

code: virtual bool ConnectMinimalClient ( const TCHAR * InNetID )


description:
Puts together the commandline parameters the server should use, based upon the unit test settings
The final server commandline


description: Gives subclass UnitTest's an opportunity to alter the MinimalClient setup parameters

code: virtual void NotifyAlterMinClient ( [FMinClientParms](API\Plugins\NetcodeUnitTest\FMinClientParms) & Parms )


description: USteamClient

code: USteamClient ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description:
Validate that the unit test settings/flags specified for this unit test, are compatible with one another, and that the engine settings/environment, support running the unit test.
Returns true, if all settings etc. check out

code: virtual bool ValidateUnitTestSettings ( bool bCDOCheck )


className: USteamClient

description: Basic unit test for verifying simple client connection to a server, using the Steam net driver.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class USteamClient : public [UIPClient](API\Plugins\NetcodeUnitTest\UnitTests\Engine\UIPClient)

bPendingConnect

description: Whether or not ConnectMinimalClient is pending

ServerSteamAddress

type: FString

description: The server Steam address, parsed from the server log


description: UWebSocketClient

code: UWebSocketClient ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UWebSocketClient

description: Basic unit test for verifying simple client connection to a server, using the WebSocket net driver.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UWebSocketClient : public [UIPClient](API\Plugins\NetcodeUnitTest\UnitTests\Engine\UIPClient)


description:
Executes the main unit test
Whether or not the unit test kicked off execution successfully

code: virtual bool ExecuteUnitTest()


description: UVMReflection

code: UVMReflection ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UVMReflection

description: Internal unit test for verifying the functionality of the UScript/BP VM reflection helper

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UVMReflection : public [UUnitTest](API\Plugins\NetcodeUnitTest\UUnitTest)


code: UVMTestClassA ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UVMTestClassA

description: Test classes for testing different types/combinations of property reflection

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UVMTestClassA : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

AObjectRef

type: TObjectPtr<UOb...

DoubleProp

type: double

DynBoolPropArray

type: TArray< bool >

DynBytePropArray

type: TArray< uint8 >

DynClassPropArray

type: TArray<TObject...

DynDoublePropArray

type: TArray< double ...

DynFloatPropArray

type: TArray< float >

type: TArray< int16 >

type: TArray< int64 >

type: TArray< int8 >

DynNamePropArray

type: TArray<FName>

DynStringPropArray

type: TArray<FString...

DynStructPropArray

type: TArray< FVector...

DynTextPropArray

type: TArray<FText>

type: TArray< uint16 ...

type: TArray< uint64 ...

DynUIntPropArray

type: TArray< uint32 ...

FloatProp

type: float

NameProp

type: FName

StructProp

type: FVector

TextProp

type: FText


code: UVMTestClassB ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UVMTestClassB

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UVMTestClassB : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

BObjectRef

type: TObjectPtr<UOb...


description: Singleton

code: static [UNUTGlobals](API\Plugins\NetcodeUnitTest\UNUTGlobals) & Get()


description: UNUTGlobals

code: UNUTGlobals ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UNUTGlobals

description: Stores globals/static-variables for NetcodeUnitTest - for compatibility with hot reload

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UNUTGlobals : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

DumpRPCMatches

description: For the '-DumpRPCs' commandline parameter - limits DumpRPCs to RPC's (partially) matching the specified names

EventWatcher

type: TObjectPtr<UNe...

description: For NUTActor - theUNetConnectionthat 'watch' events will be sent to

ServerPortOffset

description: For ClientUnitTest - the (+10) incremented port number, for each server instance

UnitTestModules

description: List of modules recognized as containing unit tests, plus implementingFNUTModuleInterfacefor hot reload

UnitTestNetDriverCount

description: For MinimalClient - counter for the number of unit test net drivers created

UnloadedModules

description: List of unit test modules that have been unloaded, prior to reloading for Hot Reload


description: Checks incoming process logs, for any indication of a crash/error

code: virtual void CheckOutputForError ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > InProcess, const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & InLines )


description: Cleans up all items needing destruction, and removes the unit test from tracking, before deleting the unit test itself

code: virtual void CleanupUnitTest ( [EUnitTestResetStage](API\Plugins\NetcodeUnitTest\EUnitTestResetStage) ResetStage )


description: Because properties are destroyed here,Super::FinishDestroy()should always be called at the end of your child class'sFinishDestroy()method, rather than at the beginning.

code: virtual void FinishDestroy()


description:
Whether or not a child process indicating a long/blocking task is running
Whether or not a blocking process was found

code: bool IsBlockingProcessPresent ( bool bLogIfFound )


description: Must override in subclasses, that need ticking.

code: virtual bool IsTickable() const


description: Notifies when a running process is detected as having finished/closed NOTE: This will not get called, when ShutdownUnitTestProcess is used, only when a program ends by itself

code: virtual void NotifyProcessFinished ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > InProcess )


description: Interface for process unit tests For implementation in subclasses, for helping to verify success/fail upon completion of unit tests NOTE: Not called again once VerificationState is set WARNING: Be careful when iterating InLogLines in multiple different for loops, if the sequence of detected logs is important

code: virtual void NotifyProcessLog ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > InProcess, const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & InLogLines )


description: Notifies when the suspend state of a process changes

code: virtual void NotifyProcessSuspendState ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > InProcess, [ESuspendState](API\Plugins\NetcodeUnitTest\ESuspendState) InSuspendState )


description: Notifies that there was a request to suspend/resume the unit test

code: virtual void NotifySuspendRequest()


description: Processes the standard output (i.e. log output) for processes

code: void PollProcessOutput()


description: For cleanup actions that should occur after the primary tick function is called

code: virtual void PostUnitTick ( float DeltaTime )


description: If any errors logs were detected upon ShutdownUnitTestProcess, this is called to print them out

code: virtual void PrintUnitTestProcessErrors ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > InHandle )


description: After a critical error, perform any mission-critical cleanup, such as restoring the video mode orreleasing hardware resources.

code: virtual void ShutdownAfterError()


description: Shuts-down/cleans-up a child process tied to the unit test

code: virtual void ShutdownUnitTestProcess ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > InHandle )


description:
Starts a child UE process, tied to the unit test
Returns a pointer to the new processes handling struct

code: virtual [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > StartUEUnitTestProcess ( [FString](API\Runtime\Core\Containers\FString) InCommandline, bool bMinimized, EBuildTargetType Type )


description:
Starts a child process, tied to the unit test
Returns a pointer to the new processes handling struct

code: virtual [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FUnitTestProcess](API\Plugins\NetcodeUnitTest\FUnitTestProcess) > StartUnitTestProcess ( [FString](API\Runtime\Core\Containers\FString) Path, [FString](API\Runtime\Core\Containers\FString) InCommandline, bool bMinimized )


description: Main tick function for the unit test

code: virtual void UnitTick ( float DeltaTime )


description: Updates (and if necessary, saves) the memory stats for processes

code: void UpdateProcessStats()


description: UProcessUnitTest

code: UProcessUnitTest ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UProcessUnitTest

description: Handles management of child processes, memory usage tracking, log/stdout output gathering/printing, and crash detection.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract) class UProcessUnitTest : public [UUnitTest](API\Plugins\NetcodeUnitTest\UUnitTest)

ActiveProcesses

type: TArray<TShared...

description: Runtime variables Stores a reference to all running child processes tied to this unit test, for housekeeping

LastBlockingProcessCheck

type: double

description: Last time there was a check for processes blocking progress

OnSuspendStateChange

type: FOnSuspendState...

description: Delegate for notifying the UI, of a change in the unit test suspend state

ProcessLogWatches

type: TArray<FProces...

description: Delegates for implementing process log watches


description: Attach the task to a unit test

code: virtual void Attach ( [UUnitTest](API\Plugins\NetcodeUnitTest\UUnitTest) * InOwner )


description: Cleanup the task state, after the task completes

code: virtual void Cleanup()


description: Retrieves UnitTaskFlags


description:
Whether or not the task has started
Whether or not the task has started

code: bool HasStarted()


description:
Whether or not the task has completed
Returns whether the task has completed or not

code: virtual bool IsTaskComplete()


description: Must override in subclasses, that need ticking.

code: virtual bool IsTickable() const


description: Tick function that runs at a tickrate of ~60 fps, for interacting with netcode (high UnitTick tickrate, can lead to net buffer overflows)

code: virtual void NetTick()


description: Gives UnitTask's an opportunity to alter the MinimalClient setup parameters

code: virtual void NotifyAlterMinClient ( [FMinClientParms](API\Plugins\NetcodeUnitTest\FMinClientParms) & Parms )


description: SeeUUnitTest::ResetTimeout

code: virtual void ResetTimeout ( [FString](API\Runtime\Core\Containers\FString) ResetReason, bool bResetConnTimeout, uint32 MinDuration )


description: Start executing the task

code: virtual void StartTask()


description: Triggers a failure for the UnitTask and owning UnitTest

code: void TriggerFailure ( [FString](API\Runtime\Core\Containers\FString) Reason )


description: Events passed from the unit test Main tick function for the unit test


description: After attaching to a unit test, validate the unit task settings are compatible

code: virtual void ValidateUnitTaskSettings()


description: UUnitTask

code: UUnitTask ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UUnitTask

description: Unit tasks that are added to a unit test, must complete execution before the unit test itself can execute.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract) class UUnitTask : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [FUnitLogRedirect](API\Plugins\NetcodeUnitTest\FUnitLogRedirect)

bStarted

type: bool

description: Whether or not the UnitTask has started

Owner

type: TObjectPtr<UUn...

description: The UnitTest that owns this task

UnitTaskFlags

type: EUnitTaskFlags

description: Flags for configuring the UnitTask


description: Aborts execution of the unit test, part-way through

code: void AbortUnitTest()


description: Adds a UnitTask to the unit test, during its configuration stage - to be completed before executing the unit test

code: void AddTask ( [UUnitTask](API\Plugins\NetcodeUnitTest\UUnitTask) * InTask )


description: Whether or not this unit test supports resetting

code: virtual bool CanResetUnitTest()


description: Cleans up all items needing destruction, and removes the unit test from tracking, before deleting the unit test itself

code: virtual void CleanupUnitTest ( [EUnitTestResetStage](API\Plugins\NetcodeUnitTest\EUnitTestResetStage) ResetStage )


description: Called upon completion of the unit test (may not happen during same tick), for tearing down created worlds/connections/etc. NOTE: Should be called last, in overridden functions, as this triggers deletion of the unit test object

code: void EndUnitTest()


description:
Executes the main unit test
Whether or not the unit test kicked off execution successfully

code: virtual bool ExecuteUnitTest()


description: Outputs the list of console command contexts, that this unit test supports (which can include custom contexts in subclasses)

code: virtual void GetCommandContextList ( [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FString](API\Runtime\Core\Containers\FString) >> & OutList, [FString](API\Runtime\Core\Containers\FString) & OutDefaultContext )


description:
Returns the type of log entries that this unit expects to output, for setting up log window filters (only needs to return values which affect what tabs are shown)
The log type mask, representing the type of log entries this unit test expects to output


description: Returns the expected result for the current game


description: Returns the list of supported games, for this unit test

code: [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > GetSupportedGames()


description: Returns the date this unit test was first added to the code


description: Returns the name/command, for the current unit test


description: Returns the value of UnitTestTimeout

code: uint32 GetUnitTestTimeout() const


description: Returns the type of unit test (e.g. bug/exploit)


description: Finishes initializing unit test settings, that rely upon the current unit test environment being loaded


description:
Whether or not the unit test has started
Whether or not the unit test has started

code: bool HasStarted()


description: Sets up the log directory and log output device instances.

code: void InitializeLogs()


description:
Whether or not this log interface is the source of aUNetConnection- used for deciding where to direct,UNetConnectionlog hooks
Whether or not the connection is associated with this log interface

code: virtual bool IsConnectionLogSource ( [UNetConnection](API\Runtime\Engine\Engine\UNetConnection) * InConnection )


description: Returns whether or not this is the first time the unit test has been run/collecting-stats

code: bool IsFirstTimeStats() const


description:
Determines whether or not a UnitTask is blocking the specified event
Whether or not the specified event is being blocked by a UnitTask

code: bool IsTaskBlocking ( [EUnitTaskFlags](API\Plugins\NetcodeUnitTest\EUnitTaskFlags) InFlag )


description: Must override in subclasses, that need ticking.

code: virtual bool IsTickable() const


description:
Whether or not this log interface is the source of anFTimerManagerdelegate object, used for hooking logs triggered during global timer manager delegates.
Whether or not the object is associated with this log interface

code: virtual bool IsTimerLogSource ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InTimerDelegateObject )


description: Triggered upon unit test completion, for outputting that the unit test has completed - plus other unit test state information

code: virtual void LogComplete()


description: Tick function that runs at a tickrate of ~60 fps, for interacting with netcode (high UnitTick tickrate, can lead to net buffer overflows)

code: virtual void NetTick()


description:
Notifies that there was a request to execute a console command for the unit test, which can occur in a specific context, e.g. for a unit test server, for a local minimal-client (within the unit test), or for a separate unit test client process
Whether or not the command was handled

code: virtual bool NotifyConsoleCommandRequest ( [FString](API\Runtime\Core\Containers\FString) CommandContext, [FString](API\Runtime\Core\Containers\FString) Command )


description: Notifies that there was a request to enable/disable developer mode

code: void NotifyDeveloperModeRequest ( bool bInDeveloperMode )


description: NOTE: VerbosityELogVerbosity::SetColoris a special category, whose log messages can be ignored.

code: virtual void NotifyLocalLog ( [ELogType](API\Plugins\NetcodeUnitTest\ELogType) InLogType, const TCHAR * Data, [ELogVerbosity::Type](API\Runtime\Core\Logging\ELogVerbosity__Type) Verbosity, const class [FName](API\Runtime\Core\UObject\FName) & Category )


description: As above, except for log entries directed towards the Unit Test Status window.

code: virtual void NotifyStatusLog ( [ELogType](API\Plugins\NetcodeUnitTest\ELogType) InLogType, const TCHAR * Data )


description: Triggered when a UnitTask fails unrecoverably during execution

code: virtual void NotifyUnitTaskFailure ( [UUnitTask](API\Plugins\NetcodeUnitTest\UUnitTask) * InTask, [FString](API\Runtime\Core\Containers\FString) Reason )


className: NullUnitEnv

description: The null unit test environment - for unit tests which support all games, due to requiring no game-specific features

code: static [FUnitTestEnvironment](API\Plugins\NetcodeUnitTest\FUnitTestEnvironment) * NullUnitEnv = nullptr;


description: For cleanup actions that should occur after the primary tick function is called

code: virtual void PostUnitTick ( float DeltaTime )


description: Resets the unit test timeout code - should be used liberally, within every unit test, when progress is made during execution

code: virtual void ResetTimeout ( [FString](API\Runtime\Core\Containers\FString) ResetReason, bool bResetConnTimeout, uint32 MinDuration )


description: Resets the unit test to its initial state, allowing it to restart from scratch NOTE: Must be implemented for every unit test that intends to support it, through CleanupUnitTest

code: void ResetUnitTest ( [EUnitTestResetStage](API\Plugins\NetcodeUnitTest\EUnitTestResetStage) ResetStage )


description: Tick function for checking if the unit test is completed (happens after all above tick events)

code: virtual void TickIsComplete ( float DeltaTime )


description: When events that were pending but blocked by a UnitTask, are unblocked, this function triggers them.

code: virtual void UnblockEvents ( [EUnitTaskFlags](API\Plugins\NetcodeUnitTest\EUnitTaskFlags) ReadyEvents )


className: UnitEnv

description: Runtime variables The unit test environment (not set until the current games unit test module is loaded - not set at all, if no such module)

code: static [FUnitTestEnvironment](API\Plugins\NetcodeUnitTest\FUnitTestEnvironment) * UnitEnv = nullptr;


code: virtual bool UTStartUnitTest()


description: Main tick function for the unit test

code: virtual void UnitTick ( float DeltaTime )


description:
Validate that the unit test settings/flags specified for this unit test, are compatible with one another, and that the engine settings/environment, support running the unit test.
Returns true, if all settings etc. check out

code: virtual bool ValidateUnitTestSettings ( bool bCDOCheck )


description: UUnitTest

code: UUnitTest ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UUnitTest

description: Base class for all unit tests

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, Config=UnitTestStats) class UUnitTest : public [UUnitTestBase](API\Plugins\NetcodeUnitTest\UUnitTestBase)

bAborted

description: Whether or not the unit test has aborted execution

bCompleted

description: Whether or not the unit test has completed

bDeveloperMode

description: Whether or not developer-mode has been enabled for this unit test (prevents it from ending execution)

bFirstTimeStats

description: Whether it's the first time this unit test has run, i.e. whether prior memory stats exist (NOTE: Not set until first tick)

bObsolete

description: Whether or not this unit test is obsolete - i.e. based on code no longer present in the game/engine

bUnreliable

description: Whether or not this unit test is unreliable, i.e. prone to giving incorrect/unexpected results, requiring multiple runs

bWorkInProgress

description: Whether or not this unit test is a 'work in progress', and should not be included in automated tests

CurrentMemoryUsage

description: The current realtime memory usage of the unit test

ExpectedResult

type: TMap<FString, ...

description: The unit test result we expect for each games codebase, i.e. whether we expect that the problem is fixed yet or not NOTE: Games which don't have an expected result specified here, are considered 'unsupported' and the unit test isn't run for them

LastExecutionTime

description: The amount of time it took to execute the unit test the last time it was run

LastNetTick

description: The time of the last NetTick event

LastTimeoutReset

description: The last time that the unit test timeout was reset

LastTimeoutResetEvent

type: FString

description: Every timeout reset specifies a string to identify/describe the event that triggered it, for tracking

LogWindow

type: TSharedPtr<SLo...

description: The log window associated with this unit test

PeakMemoryUsage

description: Config variables Stores stats on the highest-ever reported memory usage, for this unit test - for estimating memory usage

StartTime

description: The time at which execution of the unit test started

StatusLogSummary

description: Collects unit test status logs, that have been printed to the summary window

TimeoutExpire

description: The time at which the unit test timeout will expire

TimeToPeakMem

description: The amount of time it takes to reach 'PeakMemoryUsage' (or within 90% of its value)

UnitLog

type: TUniquePtr<FOu...

description: The log file for outputting all log information for the current unit test

UnitLogDir

description: The log directory for this unit test

UnitTasks

type: TArray<TObject...

description: UnitTask's which must be run before different stages of the unit test can execute

UnitTaskState

description: Marks the state of met unit task requirement flags and active unit task blocking flags

UnitTestBugTrackIDs

type: TArray<FString...

description: The bug tracking identifiers related to this unit test (e.g. TTP numbers)

UnitTestCLs

description: Source control changelists relevant to this unit test

UnitTestDate

type: FDateTime

description: The date this unit test was added to the project (for ordering in help command)

UnitTestName

description: Variables which should be specified by every subclass The name/command for this unit test (N.B. Must be set in class constructor)

UnitTestTimeout

description: The amount of time (in seconds), before the unit test should timeout and be marked as broken

UnitTestType

description: The type of unit test this is (e.g. bug/exploit) (N.B. Must be set in class constructor)

VerificationState

type: EUnitTestVerifi...

description: Whether or not the success or failure of the current unit test has been verified


description: Must override in subclasses, that need ticking.

code: virtual bool IsTickable() const


description: Tick function that runs at a tickrate of ~60 fps, for interacting with netcode (high UnitTick tickrate, can lead to net buffer overflows)

code: virtual void NetTick()


description:
Adds the unit test to tracking, and starts it
Whether or not the unit test was started successfully

code: bool StartUnitTest()


description: UUnitTestBase

code: UUnitTestBase ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UUnitTestBase

description: NOTE: All wrapped functions/events, begin with 'UT'

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract) class UUnitTestBase : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [FUnitLogInterface](API\Plugins\NetcodeUnitTest\FUnitLogInterface)


description: Allows commandlets to override the default behavior and create a custom engine class for the commandlet. If the commandlet implements this function, it should fully initialize theUEngineobject as well. Commandlets should indicate that they have implemented this function by assigning the customUEngineto GEngine.

code: virtual void CreateCustomEngine ( const [FString](API\Runtime\Core\Containers\FString) & Params )


description: Entry point for your commandlet

code: virtual int32 Main ( const [FString](API\Runtime\Core\Containers\FString) & Params )


description: UUnitTestCommandlet

code: UUnitTestCommandlet ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UUnitTestCommandlet

description: -UnitTestCap=x

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUnitTestCommandlet : public [UCommandlet](API\Runtime\Engine\Commandlets\UCommandlet)


description: Dumps status information for running/pending unit tests, to the status window and log

code: void DumpStatus ( bool bForce )


description:
Handles exec commands starting with 'UnitTest'
True if the command was handled, false if not

code: bool Exec ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, const TCHAR * Cmd, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


description:
Static getter for the unit test manager
Returns the unit test manager

code: static [UUnitTestManager](API\Plugins\NetcodeUnitTest\UUnitTestManager) * Get()


description: Returns the base log directory used by unit tests


description: Initialize the unit test manager

code: void Initialize()


description: Return the stat id to use for this tickable

code: virtual [TStatId](API\Runtime\Core\Stats\TStatId) GetStatId() const


description: Initialize unit test log output

code: void InitializeLogs()


description: Returns whether or not there are unit tests running (or about to be run)

code: bool IsRunningUnitTests()


description:
Used to determine if an object should be ticked when the game is paused. Defaults to false, as that mimics old behavior.
true if it should be ticked when paused, false otherwise

code: virtual bool IsTickableWhenPaused() const


description: When the main status window is closed, a dialog pops up asking if you want to abort all running unit tests; this returns the result

code: void NotifyCloseAllDialogResult ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWindow](API\Runtime\SlateCore\Widgets\SWindow) > & DialogWindow, [EAppReturnType::Type](API\Runtime\Core\GenericPlatform\EAppReturnType__Type) Result, bool bNoResult )


description: When a log window is closed, a dialog pops up asking if the unit test should be aborted - this returns the result NOTE: This dialog is non-modal, i.e. doesn't block the game thread - so the unit test is not guaranteed to still exist

code: void NotifyCloseDialogResult ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWindow](API\Runtime\SlateCore\Widgets\SWindow) > & DialogWindow, [EAppReturnType::Type](API\Runtime\Core\GenericPlatform\EAppReturnType__Type) Result, bool bNoResult )


description: Notifies when a log window has closed

code: void NotifyLogWindowClosed ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWindow](API\Runtime\SlateCore\Widgets\SWindow) > & ClosedWindow )


description: Notification that is triggered when a unit test is cleaning up

code: void NotifyUnitTestCleanup ( [UUnitTest](API\Plugins\NetcodeUnitTest\UUnitTest) * InUnitTest )


description: Notification that is triggered when a unit test completes

code: void NotifyUnitTestComplete ( [UUnitTest](API\Plugins\NetcodeUnitTest\UUnitTest) * InUnitTest, bool bAborted )


description: Opens the status log window

code: void OpenStatusWindow()


description: Checks to see if we're ready to execute any unit tests in the queue, and if so, begins execution

code: void PollUnitTestQueue()


description: Opens the log window, for a unit test

code: void OpenUnitTestLogWindow ( [UUnitTest](API\Plugins\NetcodeUnitTest\UUnitTest) * InUnitTest )


description: Prints the final unit test summary, when all active/pending unit tests have completed

code: void PrintFinalSummary()


description: Prints the results information for a single unit test

code: void PrintUnitTestResult ( [UUnitTest](API\Plugins\NetcodeUnitTest\UUnitTest) * InUnitTest, bool bFinalSummary, bool bUnfinished )


description:
Queues a unit test for execution
Whether or not queueing was successful

code: bool QueueUnitTest ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * UnitTestClass, bool bRequeued )


description: FOutputDevicemethods Write text to the console

code: virtual void Serialize ( const TCHAR * Data, [ELogVerbosity::Type](API\Runtime\Core\Logging\ELogVerbosity__Type) Verbosity, const class [FName](API\Runtime\Core\UObject\FName) & Category )


code: void SetStatusColor ( [FSlateColor](API\Runtime\SlateCore\Styling\FSlateColor) InStatusColor )


description: Getters/Setters

code: void SetStatusLog ( bool bInStatusLog )


description: FTickableGameObjectmethods

code: virtual void Tick ( float DeltaTime )


description:
Tests whether currently active unit tests, and optionally/additionally, a unit test about to be executed, fall within limits/restrictions on unit test counts and memory usage
Returns true if within limits, and false if not

code: bool WithinUnitTestLimits ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * PendingUnitTest )


description: UUnitTestManager

code: UUnitTestManager ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: Destructor for handling removal of log registration

code: virtual ~UUnitTestManager()


className: UUnitTestManager

description: Manages centralized execution and tracking of unit tests, as well as handling console commands, and some misc tasks like local log hooking

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Config=UnitTest) class UUnitTestManager : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [FTickableGameObject](API\Runtime\Engine\FTickableGameObject), public [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice)

AbortAllDialog

type: TSharedPtr<SWi...

description: The 'abort all' dialog

ActiveUnitTests

description: Holds a list of currently active unit tests

AutoCloseMemoryPercent

description: As above, but when reaching this limit, recently started unit test(s) will be terminated/re-queued, to get back within limits

bAbortedFirstRunUnitTest

description: If a unit test was aborted on its first run, strictly cap all first-run unit tests to one at a time

bAllowRequeuingUnitTests

description: Whether or not to allow re-queuing of unit tests

bCapUnitTestCount

description: Whether or not to cap the maximum number of unit tests that can be active at any given time

bCapUnitTestMemory

description: Whether or not to cap active unit tests, based on memory usage

FinishedUnitTests

description: Unit tests which are finished, and are kept around until printing the final summary

MaxAutoCloseCount

description: Limits the number of auto-aborts a particular unit test will allow, before it is no longer accepted for re-queueing

MaxMemoryPercent

description: When total physical memory usage, as a percentage, reaches this limit, no new unit tests can be started

MaxUnitTestCount

description: Specifies the maximum number of unit tests that can be run at any given time

PendingUnitTests

description: Holds a list of unit tests pending execution

StatusLog

description: The log file for outputting overall unit test status

StatusWindow

description: The log window which displays the overall status of unit testing

UnitTestSessionCount

description: The number of recorded sessions where UE has run unit tests (max one per each run of the UE process)


className: ValidateMinFlags

description:
When specifying the whole flag list in one assignment, do a compile time check using the template parameter. When modifying a runtime-written flag list, do a runtime check on the final flag variable using the function parameter.
Returns the flags, so that validation can be done as they are assigned to a value

code: template<[EMinClientFlags](API\Plugins\NetcodeUnitTest\EMinClientFlags) CompileTimeFlags> [EMinClientFlags](API\Plugins\NetcodeUnitTest\EMinClientFlags) ValidateMinFlags ( [EMinClientFlags](API\Plugins\NetcodeUnitTest\EMinClientFlags) RuntimeFlags )


module: NetworkPrediction

code: uint8 AddObjectToSharedPackageMap ( [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > SoftPtr )


description: Overridable native event for when play begins for this actor.

code: virtual void BeginPlay()


code: uint8 GetIDForObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Obj ) const


className: FOnAuthoritySpawn

code: typedef TMulticastDelegate_OneParam< void, [ANetworkPredictionReplicatedManager](API\Plugins\NetworkPrediction\ANetworkPredictionReplicatedMana-) * > FOnAuthoritySpawn


className: OnAuthoritySpawnDelegate


code: static [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) OnAuthoritySpawn ( const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([ANetworkPredictionReplicatedManager](API\Plugins\NetworkPrediction\ANetworkPredictionReplicatedMana-) *)> & Func )


code: static void UnregisterOnAuthoritySpawn ( [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) Handle )


code: ANetworkPredictionReplicatedManager()


className: ANetworkPredictionReplicatedManager

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class ANetworkPredictionReplicatedManager : public [AActor](API\Runtime\Engine\GameFramework\AActor)


className: InvokeMask

code: static constexpr [ENetSimCueInvoker](API\Plugins\NetworkPrediction\ENetSimCueInvoker) InvokeMask { ENetSimCueInvoker::Authority };


className: ReplicationTarget

code: static constexpr [ENetSimCueReplicationTarget](API\Plugins\NetworkPrediction\ENetSimCueReplicationTarget) ReplicationTarget { ENetSimCueReplicationTarget::None };


className: Resimulate

code: static constexpr bool Resimulate { false };


code: [TSoftObjectPtr](API\Runtime\CoreUObject\UObject\TSoftObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > GetObjectForID ( uint8 ID ) const


className: Default

description: Default Traits: if you do not explicitly set Traits on your class, this is what it defaults to.

code: typedef struct [Weak](API\Plugins\NetworkPrediction\Weak) Default


className: ENetSimCueInvoker

description: High level "who can invoke this". Does not take resimulate into account yet. All combinations of this enum are valid (though Authority | SimExtrapolate is a bit weird maybe)

code: enum ENetSimCueInvoker { Authority = (uint8)ESimulationTickContext::Authority, Predict = (uint8)ESimulationTickContext::Predict, SimExtrapolate = (uint8)ESimulationTickContext::SimExtrapolate, All = Authority | Predict | SimExtrapolate, }


className: ENetSimCueReplicationTarget

description: Who a NetSimCue should replicate/be accepted by.

code: enum ENetSimCueReplicationTarget { None = 0, AutoProxy = 1 << 0, SimulatedProxy = 1 << 1, Interpolators = 1 << 2, All = AutoProxy | SimulatedProxy | Interpolators, }


className: ENetworkLOD

description: Must be kept in sync with ENP_NetworkLOD.

code: enum ENetworkLOD { Interpolated = 1 << 0, SimExtrapolate = 1 << 1, ForwardPredict = 1 << 2, All = Interpolated | SimExtrapolate | ForwardPredict, }


className: ENetworkPredictionLocalInputPolicy

code: enum ENetworkPredictionLocalInputPolicy { Passive, PollPerSimFrame, }


className: ENetworkPredictionSortPriority

description: Arbitrary sort values used by system default definitions.

code: enum ENetworkPredictionSortPriority { First = 1, PreKinematicMovers = 50, KinematicMovers = 75, PostKinematicMovers = 100, Physics = 125, Last = 250, }


className: ENetworkPredictionStateRead

code: enum ENetworkPredictionStateRead { Simulation, Presentation, }


className: AuthorityOnly

description: Will only play on the authority path and not replicate to anyone else.

code: struct AuthorityOnly


className: ENetworkPredictionStateType

description: Enum to identify the state types

code: enum ENetworkPredictionStateType { Input, Sync, Aux, }


className: ENetworkPredictionTickingPolicy

description: Must be kept in sync with ENP_TickingPolicy.

code: enum ENetworkPredictionTickingPolicy { Independent = 1 << 0, Fixed = 1 << 1, All = Independent | Fixed, }


className: EReplicationProxyTarget

description: Target of replication.

code: enum EReplicationProxyTarget { ServerRPC, AutonomousProxy, SimulatedProxy, Replay, }


className: ESimulationTickContext

description: // Does the cue replicate? (from authority). This will also determine if the cue needs to be saved locally for NetIdentical tests (to avoid double playing) and if needs to support rollback static constexpr ENetSimCueReplicationTarget ReplicationTarget { InReplicationTarget };

code: enum ESimulationTickContext { None = 0, Authority = 1 << 0, Predict = 1 << 1, Resimulate = 1 << 2, SimExtrapolate = 1 << 3, ResimExtrapolate = 1 << 4, }


code: FConditionalAutoConsoleRegister ( const TCHAR * VarName, int32 Value, const TCHAR * Help )


code: FConditionalAutoConsoleRegister ( const TCHAR * VarName, float Value, const TCHAR * Help )


className: FConditionalAutoConsoleRegister

description: This is required because these cvars live in header files that will be included across different compilation units Just using standardFAutoConsoleVariableRefwill cause multiple registrations of the same variable

code: struct FConditionalAutoConsoleRegister


code: SimulationType * operator->() const


code: FConditionalSimulationPtr ( SimulationType * Sim )


className: FConditionalSimulationPtr

description: FConditionalSimulationPtr< ModelDef, void >

code: template<typename ModelDef, typename SimulationType> struct FConditionalSimulationPtr


className: FConditionalSimulationPtr< ModelDef, void >::FConditionalSimulationPtr

code: FConditionalSimulationPtr &40; void &42; v &41;


code: template<typename ModelDef> struct FConditionalSimulationPtr< ModelDef, void >


className: FCueDispatcherTraitsBase

description: CueDispatcher -Entry point for invoking cues during a SimulationTick -Holds recorded cue state for replication

code: struct FCueDispatcherTraitsBase


code: static constexpr int32 ReplicationWindowFrames()


description: Window for replicating a NetSimCue. That is, after a cue is invoked, it has ReplicationWindow time before it will be pruned. If a client does not get a net update for the sim in this window, they will miss the event.

code: static constexpr int32 ReplicationWindowMS()


className: FInterpolationState

code: struct FInterpolationState

AccumulatedTimeMS

type: float


code: int32 GetTotalSimTimeMS() const


className: FFixedTickState

description: The long term goal is supporting fixed physics steps without engine fix ticking. There is no guarantee or timeline this will happen though.

code: struct FFixedTickState

ConfirmedFrame

description: Latest confirmed local frame number. Anything at or before this frame is "set in stone".

FixedStepMS

description: FixedStepMS that simulations should use.

FixedStepRealTimeMS

description: Realtime steps.

Interpolation

type: FInterpolationS...

Offset

description: Maps ForwardPredicted authority frames to local frame.

PendingFrame

description: Next frame to be ticked (used as input to generated PendingFrame+1)

PhysicsOffset

description: Maps PendingFrame toPhysicsRewindData()->CurrentFrame().

UnspentTimeMS

description: Accumulates raw delta time into our fixed steps, Note this not used when physics recording is enabled since NP must stay in sync with physics tick.


code: static const TCHAR * GetName()


code: static constexpr int32 GetSortPriority()


className: ID

code: static [FModelDefId](API\Plugins\NetworkPrediction\FModelDefId) ID =0;


className: StateTypes

code: typedef [TNetworkPredictionStateTypes](API\Plugins\NetworkPrediction\TNetworkPredictionStateTypes)< void, [FGenericKinematicActorSyncState](API\Plugins\NetworkPrediction\FGenericKinematicActorSyncState), void > StateTypes


className: FGenericKinematicActorDef

description: Generic def for kinematic (non physics) actor that doesn't have a backing simulation. This is quite limited in what it can do, but hopefully useful is that they can still be recorded and restored

code: struct FGenericKinematicActorDef : public [FNetworkPredictionModelDef](API\Plugins\NetworkPrediction\FNetworkPredictionModelDef)


className: FGenericKinematicActorSyncState

code: struct FGenericKinematicActorSyncState

Rotation

type: FQuat


className: FGenericPhysicsModelDef

description: Generic model def for physics actors with no backing simulation

code: struct FGenericPhysicsModelDef : public [FNetworkPredictionModelDef](API\Plugins\NetworkPrediction\FNetworkPredictionModelDef)


code: [FNetSimCueWrapperBase](API\Plugins\NetworkPrediction\FNetSimCueWrapperBase) * Allocate ( [FNetSimCueTypeId](API\Plugins\NetworkPrediction\FNetSimCueTypeId) ID )


code: void FinalizeCueTypes()


description: Runtime functions

code: static [FGlobalCueTypeTable](API\Plugins\NetworkPrediction\FGlobalCueTypeTable) & Get()


code: [FString](API\Runtime\Core\Containers\FString) GetTypeName ( [FNetSimCueTypeId](API\Plugins\NetworkPrediction\FNetSimCueTypeId) ID ) const


description: Type Registration functions: called at startup, module load/unload. Not during runtime.

code: template<typename TCue> static void RegisterCueType ( const [FString](API\Runtime\Core\Containers\FString) & TypeName )


code: static [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) RegisterDispatchTableCallback ( const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void()> & RegisterFunc )


code: template<typename TCue> static void UnregisterCueType()


code: static void UnregisterDispatchTableCallback ( [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) Handle )


className: FindConsoleVarHelper

description: "Shipping const" cvars: cvars that should compile out to const functions in shipping/test builds This got a little tricky due to templated usage across different modules. Previous patterns for this thing didn't work. This implementation requires manual finding of consolve variables so will be a bit slower but shouldn't matter since it is compiled out of shipping/test.

code: [IConsoleVariable](API\Runtime\Core\HAL\IConsoleVariable) * FindConsoleVarHelper ( const TCHAR * VarName )


className: FModelDefId

code: typedef int32 FModelDefId


className: FNetSerializeParams

description: The parameters for NetSerialize that are passed around the system. Everything should use this, expecting to have to add more.

code: struct FNetSerializeParams

Ar

type: FArchive&


code: FNetSerializeParams ( [FArchive](API\Runtime\Core\Serialization\FArchive) & InAr )


className: FOnRollback

description: Callback to rollback any side effects of the cue.

code: typedef TMulticastDelegate_NoParams< void > FOnRollback


className: FNetSimCueCallbacks

description: Callbacks

code: struct FNetSimCueCallbacks

OnRollback

type: FOnRollback


code: bool EnsureValidContext()


className: FContext

description: Sim Context: the Sim has to tell the dispatcher what its doing so that it can decide if it should supress Invocations or not.

code: struct FContext

TickContext

type: ESimulationTick...


code: [TArray](API\Runtime\Core\Containers\TArray)< [FSavedCue](API\Plugins\NetworkPrediction\FSavedCue) > & GetBuffer ( const bool & bTransient )


className: FGlobalCueTypeTable

description: GlobalCueTypeTable: Cue types register with this to get a Type ID assigned (TCue::ID). That ID is used in net serialization to talk about types. -Assigns deterministic ID to TCue::ID for all cue types -Provides allocation function to instantiate TCue from a NetSerialize ID

code: class FGlobalCueTypeTable


code: const [FContext](API\Plugins\NetworkPrediction\FNetSimCueDispatcher\FContext) & GetContext() const


description: This works too, but will cause a move (if possible) or copy FMyCue MyCue(a,b,c); Invoke(MyCue);

code: template<typename T, typename... ArgsType> void Invoke ( ArgsType &&... Args )


description: Push/pop simulation context.

code: void PushContext ( const [FContext](API\Plugins\NetworkPrediction\FNetSimCueDispatcher\FContext) & InContext )


code: virtual ~FNetSimCueDispatcher()


className: FNetSimCueDispatcher

description: Non-templated, "networking model independent" base: this is what the pure simulation code gets to invoke cues.

code: struct FNetSimCueDispatcher

Context

type: FContext

SavedCues

type: TArray<FSavedC...


className: FNetSimCueSystemParamemters

description: System parameters for NetSimCue events

code: struct FNetSimCueSystemParamemters

Callbacks

type: FNetSimCueCallb...

description: Callback structure if applicable. This will be null on non-rewindable cues as well as execution contexts where rollbacks wont happen (e.g, authority).

TimeSinceInvocation

type: const int32 &

description: How much simulation time has passed since this cue was invoked. This will be 0 in authority/predict contexts, but when invoked via replication this will tell you how long ago it happened, relative to local simulation time.


className: FNetSimCueTypeId

code: typedef uint8 FNetSimCueTypeId


code: bool NetIdentical ( const void * OtherCueData ) const


code: void NetSerialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: virtual ~FNetSimCueWrapperBase()


className: FNetSimCueWrapperBase

description: Wrapper: wraps the actual user NetSimCue. We want to avoid virtualizing functions on the actual user types.

code: struct FNetSimCueWrapperBase


className: FNetSimTimeStep

description: TimeStep info that is passed into SimulationTick.

code: struct FNetSimTimeStep

Frame

description: The Simulation Frame number we are computing in this tick, E.g, the output frame.

StepMS

description: The delta time step for this tick.

TotalSimulationTime

description: How much simulation time has ran up until this point.


className: FNetworkPredictionDevHUD

bRequireNotPIE

type: bool

description: Only works in non PIE

bRequirePIE

description: Only works in PIE

HUDName

type: FString

Items

type: TArray<FNetwor...


className: FNetworkPredictionDevHUDItem

bAutoBack

description: Return to to level HUD menu after selecting this.

bRequireNotPIE

description: Only works in non PIE

bRequirePIE

description: Only works in PIE


className: FNetworkPredictionDriver

description: FNetworkPredictionDriver< FGenericKinematicActorDef >

code: template<typename ModelDef> struct FNetworkPredictionDriver : public [FNetworkPredictionDriverBase< ModelDef >](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase)


className: AuxType

code: typedef typename StateTypes::AuxType AuxType


description: BeginInterpolatedPhysics - turn off physics simulation so that NP can interpolate the physics state

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type BeginInterpolatedPhysics ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type BeginInterpolatedPhysics ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< HasFunc >::Type CallFinalizeFrameMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, const [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * SyncState, const [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * AuxState )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!HasFunc >::Type CallFinalizeFrameMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, const [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * SyncState, const [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * AuxState )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!HasFunc >::Type CallInitializeSimulationStateMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * Sync, [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * Aux )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< HasFunc >::Type CallInitializeSimulationStateMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * Sync, [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * Aux )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< HasFunc >::Type CallProduceInputMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, int32 DeltaTimeMS, [InputType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\InputType) * InputCmd )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!HasFunc >::Type CallProduceInputMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, int32 DeltaTimeMS, [InputType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\InputType) * InputCmd )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< HasFunc >::Type CallRestoreFrameMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, const [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * SyncState, const [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * AuxState )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!HasFunc >::Type CallRestoreFrameMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, const [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * SyncState, const [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * AuxState )


description: Tells the driver to call the Server RPC to send InputCmds to the server.UNetworkPredictionComponent::CallServerRPCis the default implementation and shouldn't need to be defined by the user.

code: static void CallServerRPC ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< HasFunc >::Type CallServerRPCMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!HasFunc >::Type CallServerRPCMemberFunc ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< HasFunc >::Type CallSetHiddenForInterpolation ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, bool bHide )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!HasFunc >::Type CallSetHiddenForInterpolation ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, bool bHide )


code: static void CallSetHiddenForInterpolationFallback ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Driver, bool bHide )


code: static void CallSetHiddenForInterpolationFallback ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * Driver, bool bHide )


code: template<typename InDriverType> auto Requires &40; InDriverType &42; Driver &41;


className: CCallServerRPCMemberFuncable

code: struct CCallServerRPCMemberFuncable


code: template<typename InDriverType, typename...> auto Requires &40; InDriverType &42; Driver, const SyncType &42; S, const AuxType &42; A &41;


className: CFinalizeFrameMemberFuncable

code: struct CFinalizeFrameMemberFuncable


className: CGetPhysicsBodyInstanceMemberFuncable

description: GetPhysicsBodyInstance


description: GetPhysicsPrimitiveComponent: returnsUPrimitiveComponentto forward to PhysicsState function calls. (it would be nice to not require this but the interpolatin path currently requires calls to kinematic bodies to go through the component, not PhysicsActorHandle)


code: template<typename InDriverType, typename...> auto Requires &40; InDriverType &42; Driver, SyncType &42; Sync, AuxType &42; Aux &41;


className: CInitializeSimulationStateFuncable


code: template<typename InDriverType, typename...> auto Requires &40; InDriverType &42; Driver, int32 TimeMS, InputType &42; InputCmd &41;


className: CProduceInputMemberFuncable

code: struct CProduceInputMemberFuncable


className: CRestoreFrameMemberFuncable

code: struct CRestoreFrameMemberFuncable


code: template<typename InDriverType> auto Requires &40; InDriverType &42; Driver, bool bHidden &41;


className: CSetHiddenForInterpolationFuncable


description: Forwards call to CueDispatche's DispatchCueRecord which will invoke the queued HandleCue events to the driver.

code: template<typename InDriverType> static void DispatchCues ( [TNetSimCueDispatcher](API\Plugins\NetworkPrediction\TNetSimCueDispatcher)< ModelDef > * CueDispatcher, InDriverType * Driver, int32 SimFrame, int32 SimTimeMS, const int32 FixedStepMS )


code: static void DispatchCues ( [TNetSimCueDispatcher](API\Plugins\NetworkPrediction\TNetSimCueDispatcher)< ModelDef > * CueDispatcher, void * Driver, int32 SimFrame, int32 SimTimeMS, const int32 FixedStepMS )


code: static void DrawDebugOutline ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [FColor](API\Runtime\Core\Math\FColor) Color, float Lifetime )


code: static void DrawDebugText3D ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, const TCHAR * Str, [FColor](API\Runtime\Core\Math\FColor) Color, float Lifetime, float ZOffset )


className: DriverType

code: typedef typename ModelDef::Driver DriverType


description: EndInterpolatedPhysics - turn on physics simulation

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type EndInterpolatedPhysics ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type EndInterpolatedPhysics ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


description: Called every engine frame to push the final result of the NetworkPrediction system to the driver

code: static void FinalizeFrame ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, const [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * SyncState, const [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * AuxState )


description: FinalizeInterpolatedPhysics Only called when needing to push NP interpolated physics state to the driver. E.g, the physics sim is not running

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type FinalizeInterpolatedPhysics ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & Physics )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type FinalizeInterpolatedPhysics ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & Physics )


description: Defines what the ModelDef can do. This is a compile time thing only.


description: Defines the default config for an instance, given their archetype and Role/NetConnection.

code: static [FNetworkPredictionInstanceConfig](API\Plugins\NetworkPrediction\FNetworkPredictionInstanceConfig) GetConfig ( const [FNetworkPredictionInstanceArchetype](API\Plugins\NetworkPrediction\FNetworkPredictionInstanceArchet-) & Archetype, const [FNetworkPredictionSettings](API\Plugins\NetworkPrediction\FNetworkPredictionSettings) & GlobalSettings, ENetRole Role, bool bHasNetConnection )


code: static FBox GetDebugBoundingBox ( [AActor](API\Runtime\Engine\GameFramework\AActor) * DriverActor )


code: static FBox GetDebugBoundingBox ( void * NoDriver )


description: Basic string/debug info

code: static void GetDebugString ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, FStringBuilderBase & Builder )


code: static void GetDebugString ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * ActorComp, FStringBuilderBase & Builder )


code: static void GetDebugString ( void * NoDriver, FStringBuilderBase & Builder )


code: static void GetDebugStringFull ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, FStringBuilderBase & Builder )


code: static void GetDebugStringFull ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * ActorComp, FStringBuilderBase & Builder )


code: static void GetDebugStringFull ( void * NoDriver, FStringBuilderBase & Builder )


code: static FTransform GetDebugWorldTransform ( [AActor](API\Runtime\Engine\GameFramework\AActor) * DriverActor )


code: static FTransform GetDebugWorldTransform ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * DriverComponent )


code: static FTransform GetDebugWorldTransform ( void * NoDriver )


code: static FBox GetDebugBoundingBox ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * DriverComponent )


description: Defines the default settings for a spawn instance.

code: static bool GetDefaultArchetype ( [FNetworkPredictionInstanceArchetype](API\Plugins\NetworkPrediction\FNetworkPredictionInstanceArchet-) & Archetype, [ENetworkPredictionTickingPolicy](API\Plugins\NetworkPrediction\ENetworkPredictionTickingPolicy) PreferredTickingPolicy, bool bCanPhysicsTickPhysics )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!HasFunc, [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * >::Type GetPhysicsBodyInstance ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< HasFunc, [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * >::Type GetPhysicsPrimitiveComponent ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!HasFunc, [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * >::Type GetPhysicsPrimitiveComponent ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: static void GetTraceString ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * ActorComp, FStringBuilderBase & Builder )


code: static void GetTraceString ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, FStringBuilderBase & Builder )


code: static void GetTraceString ( void * NoDriver, FStringBuilderBase & Builder )


className: HasCallServerRPC

code: static constexpr bool HasCallServerRPC = TModels_V<CCallServerRPCMemberFuncable, DriverType>;


code: static constexpr bool HasDriver()


code: template<bool HasFunc> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< HasFunc, [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * >::Type GetPhysicsBodyInstance ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


className: HasGetBodyInstance

code: static constexpr bool HasGetBodyInstance = TModels_V<CGetPhysicsBodyInstanceMemberFuncable, DriverType>;


className: HasFinalizeFrame

code: static constexpr bool HasFinalizeFrame = TModels_V<CFinalizeFrameMemberFuncable, DriverType, SyncType, AuxType>;


className: HasGetPrimitiveComp

code: static constexpr bool HasGetPrimitiveComp = TModels_V<CGetPhysicsPrimitiveComponentMemberFuncable, DriverType>;


className: HasInitializeSimulationState

code: static constexpr bool HasInitializeSimulationState = TModels_V<CInitializeSimulationStateFuncable, DriverType, SyncType, AuxType>;


code: static constexpr bool HasInput()


code: static constexpr bool HasNpState()


code: static constexpr bool HasPhysics()


className: HasProduceInput

code: static constexpr bool HasProduceInput = TModels_V<CProduceInputMemberFuncable, DriverType, int32, InputType>;


className: HasRestoreFrame

code: static constexpr bool HasRestoreFrame = TModels_V<CRestoreFrameMemberFuncable, DriverType, SyncType, AuxType>;


className: HasSetHiddenForInterpolation

code: static constexpr bool HasSetHiddenForInterpolation = TModels_V<CSetHiddenForInterpolationFuncable, DriverType>;


code: static constexpr bool HasSimulation()


description: The default implementation will call InitializeSimulationState(FSyncState*, FAuxState*) on the Driver class itself.

code: static void InitializeSimulationState ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [FNetworkPredictionStateView](API\Plugins\NetworkPrediction\FNetworkPredictionStateView) * View )


code: static void InitializeSimulationState ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * Sync, [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * Aux )


className: InputType

code: typedef typename StateTypes::InputType InputType


description: Blend between From/To set of Sync/Aux states

code: static void Interpolate ( const [TSyncAuxPair](API\Plugins\NetworkPrediction\TSyncAuxPair)< [StateTypes](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\StateTypes) > & From, const [TSyncAuxPair](API\Plugins\NetworkPrediction\TSyncAuxPair)< [StateTypes](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\StateTypes) > & To, const float PCT, [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * SyncOut, [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * AuxOut )


description: InterpolatePhysics

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type InterpolatePhysics ( [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & FromState, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & ToState, float PCT, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & OutState )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type InterpolatePhysics ( [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & FromState, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & ToState, float PCT, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & OutState )


code: template<typename StateType> static void InterpolateState ( const StateType * From, const StateType * To, const float PCT, StateType * Out )


code: static void InterpolateState ( const void * From, const void * To, const float PCT, void * Out )


description: LogPhysicsState

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type LogPhysicsState ( [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type LogPhysicsState ( [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type LogPhysicsState ( int32 PhysicsFrame, [Chaos::FRewindData](API\Runtime\Chaos\FRewindData) * RewindData, [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type LogPhysicsState ( int32 PhysicsFrame, [Chaos::FRewindData](API\Runtime\Chaos\FRewindData) * RewindData, [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


code: template<typename StateType> static void LogUserState ( const StateType * State, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


description: If you really need to return the string's produced here, use anFStringOutputDevice. Otherwise they will be stacked allocated

code: static void LogUserStates ( const [TNetworkPredictionState](API\Plugins\NetworkPrediction\TNetworkPredictionState)< [StateTypes](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\StateTypes) > & UserStates, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


description: MarshalPhysicsToComponent

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type MarshalPhysicsToComponent ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type MarshalPhysicsToComponent ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


description: Forwards NetSerialize call to the user type.

code: template<typename StateType> static void NetSerialize ( [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< StateType > & State, const [FNetSerializeParams](API\Plugins\NetworkPrediction\FNetSerializeParams) & P )


code: static void NetSerialize ( [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< void > & State, const [FNetSerializeParams](API\Plugins\NetworkPrediction\FNetSerializeParams) & P )


description: PerformPhysicsRollback

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type PerformPhysicsRollback ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type PerformPhysicsRollback ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type PhysicsNetRecv ( const [FNetSerializeParams](API\Plugins\NetworkPrediction\FNetSerializeParams) & P, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState )


description: PhysicsNetRecv

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type PhysicsNetRecv ( const [FNetSerializeParams](API\Plugins\NetworkPrediction\FNetSerializeParams) & P, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type PhysicsNetSend ( const [FNetSerializeParams](API\Plugins\NetworkPrediction\FNetSerializeParams) & P, [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


description: PhysicsNetSend

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type PhysicsNetSend ( const [FNetSerializeParams](API\Plugins\NetworkPrediction\FNetSerializeParams) & P, [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


className: PhysicsState

code: typedef typename ModelDef::PhysicsState PhysicsState


description: PhysicsStateIsConsistent Only used in debugging - checks ifUPrimitiveComponentand FPhysicsBody state are in sync with each other

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable, bool >::Type PhysicsStateIsConsistent ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable, bool >::Type PhysicsStateIsConsistent ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


description: PostPhysicsResimulate

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type PostPhysicsResimulate ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type PostPhysicsResimulate ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver )


description: Called on locally controlled simulations prior to ticking a new frame. This is to allow input to be as fresh as possible. submitting input from an Actor tick would be too late in the frame. NOTE: currently input is sampled/broadcast in PC tick and this is still causing a frame of latency in the samples. This will be fixed in the future.

code: static void ProduceInput ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, int32 DeltaTimeMS, [InputType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\InputType) * InputCmd )


description: This can be automated for physics (the PhysicsState can generically marshal the data). We can't do this for kinematic sims.

code: static void RestoreFrame ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, const [SyncType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\SyncType) * SyncState, const [AuxType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\AuxType) * AuxState )


code: static [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * SafeCastDriverToPrimitiveComponent ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Driver )


code: template<typename InDriverType> static [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * SafeCastDriverToPrimitiveComponent ( InDriverType * Driver )


description: Interpolated sims are initially hidden until there are two valid states to interpolate between

code: static void SetHiddenForInterpolation ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, bool bHide )


description: Determines if Sync/Aux state have diverged enough to force a correction. The default implementation will call ShouldReconcile on the state itself: bool FMySyncState::ShouldReconcile(const FMySyncState& Authority) const.

code: static bool ShouldReconcile ( const [TSyncAuxPair](API\Plugins\NetworkPrediction\TSyncAuxPair)< [StateTypes](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\StateTypes) > & Predicted, const [TSyncAuxPair](API\Plugins\NetworkPrediction\TSyncAuxPair)< [StateTypes](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\StateTypes) > & Authority )


code: template<typename StateType> static bool ShouldReconcile ( const StateType * Predicted, const StateType * Authority )


code: static bool ShouldReconcile ( const void * Predicted, const void * Authority )


description: ShouldReconcilePhysics

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable, bool >::Type ShouldReconcilePhysics ( int32 PhysicsFrame, [Chaos::FRewindData](API\Runtime\Chaos\FRewindData) * RewindData, [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable, bool >::Type ShouldReconcilePhysics ( int32 PhysicsFrame, [Chaos::FRewindData](API\Runtime\Chaos\FRewindData) * RewindData, [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState )


className: Simulation

code: typedef typename ModelDef::Simulation Simulation


className: StateTypes

code: typedef typename ModelDef::StateTypes StateTypes


className: SyncType

code: typedef typename StateTypes::SyncType SyncType


code: template<typename StateType> static void ToString ( const StateType * State, FAnsiStringBuilderBase & Builder )


code: static void ToString ( const void * State, FAnsiStringBuilderBase & Builder )


description: Current latest physics state.

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type TracePhysicsState ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, FAnsiStringBuilderBase & Builder )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type TracePhysicsState ( [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, FAnsiStringBuilderBase & Builder )


description: Local historic physics state.

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type TracePhysicsState ( int32 PhysicsFrame, [Chaos::FRewindData](API\Runtime\Chaos\FRewindData) * RewindData, [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, FAnsiStringBuilderBase & Builder )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type TracePhysicsState ( int32 PhysicsFrame, [Chaos::FRewindData](API\Runtime\Chaos\FRewindData) * RewindData, [DriverType](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\DriverType) * Driver, FAnsiStringBuilderBase & Builder )


description: TracePhysicsState

code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< bEnable >::Type TracePhysicsStateRecv ( const [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState, FAnsiStringBuilderBase & Builder )


code: template<bool bEnable> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!bEnable >::Type TracePhysicsStateRecv ( const [TConditionalState](API\Plugins\NetworkPrediction\TConditionalState)< [PhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase\PhysicsState) > & RecvState, FAnsiStringBuilderBase & Builder )


code: template<typename StateType> static void TraceUserStateString ( const StateType * State, FAnsiStringBuilderBase & Builder )


className: FNetworkPredictionDriverBase

code: template<typename ModelDef> struct FNetworkPredictionDriverBase


code: static void InitializeSimulationState &40; AActor &42; ActorDriver, FGenericKinematicActorSyncState &42; Sync, void &42; Aux &41;


code: template<> struct FNetworkPredictionDriver< FGenericKinematicActorDef > : public [FNetworkPredictionDriverBase< FGenericKinematicActorDef >](API\Plugins\NetworkPrediction\FNetworkPredictionDriverBase)


code: int32 GetTraceID() const


className: FNetworkPredictionID::operator int32

code: operator int32() const


code: bool operator== ( const [FNetworkPredictionID](API\Plugins\NetworkPrediction\FNetworkPredictionID) & rhs ) const


code: bool operator> ( const [FNetworkPredictionID](API\Plugins\NetworkPrediction\FNetworkPredictionID) & rhs ) const


code: bool operator>= ( const [FNetworkPredictionID](API\Plugins\NetworkPrediction\FNetworkPredictionID) & rhs ) const


code: bool operator< ( const [FNetworkPredictionID](API\Plugins\NetworkPrediction\FNetworkPredictionID) & rhs ) const


code: bool operator<= ( const [FNetworkPredictionID](API\Plugins\NetworkPrediction\FNetworkPredictionID) & rhs ) const


code: bool operator!= ( const [FNetworkPredictionID](API\Plugins\NetworkPrediction\FNetworkPredictionID) & rhs ) const


code: FNetworkPredictionID ( int32 InSpawnID )


code: FNetworkPredictionID ( int32 InSpawnID, int32 InTraceID )


className: FNetworkPredictionID

description: Unique server assigned ID for a network sim instance.

code: struct FNetworkPredictionID


code: void NetSerialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


className: FNetworkPredictionInstanceArchetype

description: How a registered instance should behave globally. That is, independent of any instance state (local role, connection, significance, local budgets). E.g, everyone agrees on this. This can be changed explicitly by the user or simulation. For example, a sim that transitions between fixed and independent ticking modes.

TickingMode

type: ENetworkPredict...


className: Driver

description: Object class that can take output from prediction system. E.gAActor, AMyPawn. See notes in NetworkPredictionDriver.h Requires: StateTypes || PhysicsState Enables: Finalize, Cues

code: typedef void Driver


className: FNetworkPredictionInstanceConfig

description: What are the local settings that can be lodded around?

code: struct FNetworkPredictionInstanceConfig

NetworkLOD

type: ENetworkLOD


code: static const TCHAR * GetName()


code: static constexpr int32 GetSortPriority()


description: Physics state. Void = no physics,FNetworkPredictionPhysicsStateis the default physics state that synchronizes X,R,V,W. Enables: Reconcile, Finalize

code: typedef void PhysicsState


description: Object that runs SimulationTick Requires: valid StateTypes Enables: Ticking

code: typedef void Simulation


description: Actual defs should have: NP_MODEL_BODY();TNetworkPredictionStateTypes: User State Types (Input, Sync, Aux) Enables: Reconcile, Ticking, Input, Finalize

code: typedef [TNetworkPredictionStateTypes](API\Plugins\NetworkPrediction\TNetworkPredictionStateTypes)< void, void, void > StateTypes


className: FNetworkPredictionModelDef

code: struct FNetworkPredictionModelDef


className: FSupportedNetworkLODs

code: struct FSupportedNetworkLODs


className: FNetworkPredictionModelDefCapabilities

description: What a ModelDef of capable of.

FixedNetworkLODs

type: FSupportedNetwo...


code: static [FNetworkPredictionModelDefRegistry](API\Plugins\NetworkPrediction\FNetworkPredictionModelDefRegist-) & Get()


code: template<typename ModelDef> void RegisterType()


className: FNetworkPredictionModelDefRegistry

description: Basic ModelDef type registry. ModelDefs are registered and assigned an ID (their ModelDef::ID) based on ModelDef::SortPriority. This ID is used as indices into the various NP service arrays


code: static void BeginInterpolation ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Driver )


code: bool ContainsNaN() const


code: static void EndInterpolation ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Driver )


description: Interpolation related functions currently need to go through aUPrimitiveComponent.

code: static void FinalizeInterpolatedPhysics ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Driver, [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * InterpolatedState )


code: static void Interpolate ( const [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * From, const [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * To, const float PCT, [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * Out )


code: static void MarshalPhysicsToComponent ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * PrimitiveComponent, const [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * BodyInstance )


code: static void NetRecv ( const [FNetSerializeParams](API\Plugins\NetworkPrediction\FNetSerializeParams) & P, [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * RecvState )


code: static void NetSend ( const [FNetSerializeParams](API\Plugins\NetworkPrediction\FNetSerializeParams) & P, [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * BodyInstance )


code: static void PerformRollback ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * PrimitiveComponent, [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * RecvState )


code: static void PerformRollback ( [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * BodyInstance, [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * RecvState )


code: static void PostResimulate ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * PrimitiveComponent, const [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * BodyInstance )


code: static bool ShouldReconcile ( int32 PhysicsFrame, [Chaos::FRewindData](API\Runtime\Chaos\FRewindData) * RewindData, [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * BodyInstance, [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * RecvState )


code: static bool StateIsConsistent ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * PrimitiveComponent, [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * BodyInstance )


description: Networked state to string.

code: static void ToString ( const [FNetworkPredictionPhysicsState](API\Plugins\NetworkPrediction\FNetworkPredictionPhysicsState) * RecvState, FAnsiStringBuilderBase & Builder )


description: Current state to string.

code: static void ToString ( [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * BodyInstance, FAnsiStringBuilderBase & Builder )


description: Locally stored state to string.

code: static void ToString ( int32 PhysicsFrame, [Chaos::FRewindData](API\Runtime\Chaos\FRewindData) * RewindData, [FBodyInstance](API\Runtime\Engine\PhysicsEngine\FBodyInstance) * BodyInstance, FAnsiStringBuilderBase & Builder )


className: FNetworkPredictionPhysicsState

description: Actual physics state. More of these could be created to include more state or change the serialization

code: struct FNetworkPredictionPhysicsState


description: Call to change local configuration of proxy. Not networked.

code: void Configure ( const [FNetworkPredictionInstanceConfig](API\Plugins\NetworkPrediction\FNetworkPredictionInstanceConfig) & Config )


className: EConfigAction

description: Allows ConfigFunc to be invoked to "do a thing" instead of set a new config/id. This is useful because ConfigFunc can make the untemplated caller -> ModelDef jump.

code: enum EConfigAction { None, EndPlay, UpdateConfigWithDefault, TraceInput, TraceSync, TraceAux, }


description: Unregisters from NetworkPrediction System.

code: void EndPlay()


className: FInitParams

description: Parameter struct to be used with the Init function overload below, when aUWorldisn't available, such as in unit tests.

code: template<typename ModelDef> struct FInitParams

Mode

type: ENetMode

RepProxies

type: constFReplicat...

WorldManager

type: UNetworkPredict...


code: bool GetCachedHasNetConnection() const


code: ENetRole GetCachedNetRole() const


code: [FNetSimCueDispatcher](API\Plugins\NetworkPrediction\FNetSimCueDispatcher) * GetCueDispatcher() const


code: int32 GetPendingFrame() const


code: bool Identical ( const [FNetworkPredictionProxy](API\Plugins\NetworkPrediction\FNetworkPredictionProxy) * Other, uint32 PortFlags ) const


description: The init function binds to the templated methods on UNetworkPredictionMAnager. This will "bring in" all the templated systems on NP, so this file should only be included in your .cpp file that is calling Init.

code: template<typename ModelDef> void Init ( const [FInitParams](API\Plugins\NetworkPrediction\FNetworkPredictionProxy\FInitParams)< ModelDef > & Params )


description: The init function that you need to call. This is defined in NetworkPredictionProxyInit.h (which should only be included by your .cpp file)

code: template<typename ModelDef> void Init ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, const [FReplicationProxySet](API\Plugins\NetworkPrediction\FReplicationProxySet) & RepProxies, typename ModelDef::Simulation * Simulation, typename ModelDef::Driver * Driver )


description: When network role changes, initializes role storage and logic controller.

code: void InitForNetworkRole ( ENetRole Role, bool bHasNetConnection )


code: bool NetSerialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, class [UPackageMap](API\Runtime\CoreUObject\UObject\UPackageMap) * Map, bool & bOutSuccess )


description: Returns Presentation AuxState by default, if it is set. Otherwise returns pending Simulation value.

code: template<typename TAuxState> const TAuxState * ReadAuxState ( [ENetworkPredictionStateRead](API\Plugins\NetworkPrediction\ENetworkPredictionStateRead) ReadType ) const


code: int32 GetTotalSimTimeMS() const


description: Read/Write access for the current states (these are the states that will be used as input into next simulation frame

code: template<typename TInputCmd> const TInputCmd * ReadInputCmd() const


description: Returns Presentation SyncState by default, if it is set. Otherwise returns pending Simulation value.

code: template<typename TSyncState> const TSyncState * ReadSyncState ( [ENetworkPredictionStateRead](API\Plugins\NetworkPrediction\ENetworkPredictionStateRead) ReadType ) const


description: Should only be called on the authority. Changes what how this instance is allowed to be configured.

code: void SetArchetype ( const [FNetworkPredictionInstanceArchetype](API\Plugins\NetworkPrediction\FNetworkPredictionInstanceArchet-) & Archetype, const [FNetworkPredictionInstanceConfig](API\Plugins\NetworkPrediction\FNetworkPredictionInstanceConfig) & Config )


code: template<typename TAuxState> const TAuxState * WriteAuxState ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(TAuxState &)> WriteFunc, const FAnsiStringView & TraceMsg )


description: Writes - must include NetworkPredictionProxyWrite.h in places that call this Note that writes are implicitly done on the simulation state. It is not valid to modify the presentation value out of band.

code: template<typename TInputCmd> const TInputCmd * WriteInputCmd ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(TInputCmd &)> WriteFunc, const FAnsiStringView & TraceMsg )


code: template<typename TSyncState> const TSyncState * WriteSyncState ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(TSyncState &)> WriteFunc, const FAnsiStringView & TraceMsg )


className: FNetworkPredictionProxy


description: This is the threshold at which we would wrap around and incorrectly assign a frame on the receiving side. E.g, If there are FRAME_ERROR_THRESHOLD frames that do not make it across from sender->receiver, the receiver will have incorrect local values. With 8 bits, this works out to be 128 frames or about 2 seconds at 60fps.

code: enum { FRAME_ERROR_THRESHOLD = MAX_FRAME_WRITE / 2 }


description: Abs max value we encode into the bit writer.

code: enum { MAX_FRAME_WRITE = 1 << NUM_BITS_FRAME }


description: How many bits we use to NetSerialize Frame numbers. This is only relevant AP Client <> Server communication. Frames are stored locally as 32 bit integers, but we use a smaller number of bits to NetSerialize. The system internally guards from Frame numbers diverging. E.g, the client will not generate new frames if the last serialization frame would be pushed out of the buffer. Server does not generate frames without input from client.

code: enum { NUM_BITS_FRAME = 8 }


description: Disabled right now: this is causing issues with JIP.

code: static int32 ReadCompressedFrame ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, int32 RelativeFrame )


description: For serializing DeltaMS, expected to be small (< 1000)

code: static void SerializeDeltaMS ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, int32 & DeltaTimeMS )


description: Helper to serialize an int32 frame as 8 bits. Returns the unpacked value (this will be same as input in the save path)

code: static int32 SerializeFrame ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, int32 Frame, int32 RelativeFrame )


description: For serializing timestamps.

code: static void SerializeTimeMS ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, int32 & TimestampMS )


code: static void WriteCompressedFrame ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, int32 Frame )


className: FNetworkPredictionSerialization

code: struct FNetworkPredictionSerialization