NetcodeUnitTest

Windows
MacOS
Linux

Filters

Classes

Name

Description

Public struct

AccessPrivate

This template, is used to link an arbitrary class member, to the GetPrivate function.

Public class UClass

ANUTActor

Public class

FAssertHookDevice

Output device for replacing GError, and catching specific asserts so they don't crash the game.

Public struct

FContextPointer

There is a problem with the parser API, where the Context you pass into the Evaluate function is marked: const ContextType* Context

Public class

FDynamicOutputDevice

Output device for allowing quick/dynamic creation of a customized output device, using lambda's passed to delegates

Public struct

FErrorLog

Struct used for storing and classifying each log error line

Public class

FExecuteOnServer

Delegate for executing a unit test function on the server

Public class

FFuncReflection

FFuncReflection - helper for quickly/concisely setting function parameters through reflection

Public class

FHookOutputDevice

Output device for hijacking/hooking an existing output device (e.g. to hijack GError, to block specific asserts) Inherit this class, to implement desired hook behaviour in subclass

Public class

FLogStackTraceManager

A log hook, which watches the log for specified log entries, and ties them into the stack trace manager

Public struct

FMinClientHooks

Delegate hooks for the minimal client - also directly inherited by UMinimalClient

Public struct

FMinClientParms

Parameters for configuring the minimal client - also directly inherited by UMinimalClient

Public class

FNUTModuleInterface

Module interface that plugins containing unit tests should use - to support hot reload properly

Public class

FNUTStackTrace

A class for dumping a stack trace, upon encountering a specific piece of code

Public struct

FProtMinClientHooks

Public struct

FProtMinClientParms

Sidestep header parser enforcement of 'public' on inheritance below.

Public struct

FReflEvaluationContext

FVMReflectionParser - A string interface for FVMReflection, which performs reflection on the UE4 virtual machine.

Public class

FScopedLog

Use this following code snippet, to execute the above function.

Public class

FScopedLogNet

Version of FScopedLog, for scoped logging of all netcode-related logs

Public class

FScopedLogSuppress

Version of FScopedLog, for suppressing instead of enabling log entries

Public class

FStackTraceManager

Manager for handling multiple debug stack traces on-the-fly, and allowing abstraction of stack traces, so you don't have to manually handle FNUTStackTrace objects (which can be complicated/bug-prone).

Public struct

FStackTrackerbIsEnabledAccessor

Enable access to FStackTracker.bIsEnabled.

Public struct

FTestResultPointer

Public class

FUnitLogInterface

Implements an interface for using the UNIT_LOG etc. macros above, within a class

Public class

FUnitLogRedirect

Implements a UNIT_LOG interface, which redirects to another unit log interface (e.g. redirect MinimalClient UNIT_LOG's to a UnitTest)

Public struct

FUnitStatusLog

Structs Used for storing unit-test-specific logs, which are displayed in the status window (upon completion of unit testing, a final summary is printed using this data, but in a more-ordered/easier-to-read fashion)

Public class

FUnitTestEnvironment

Class for handling per-game implementation of unit test environmental defaults

Public struct

FUnitTestProcess

Struct used for handling a launched UE4 client/server process

Public class

FVMReflection

FVMReflection

Public class

FVMReflectionParser

FVMReflectionParser

Public class

INetcodeUnitTest

Public interface for the NetcodeUnitTest module

Public struct

NUTDebug

General debug functions

Public struct

NUTUtil

General utility functions

Public struct

NUTUtilRefl

NUTUtilRefl - general reflection helper utility functions

Public class

TIsUStruct

Currently supported fields (field list taken from UEd class viewer) - Field

Public class UClass Abstract

UClientUnitTest

Base class for all unit tests depending upon a MinimalClient connecting to a server.

Public class UClass

UMinimalClient

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.

Public class UClass

UNUTGlobals

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

Public class UClass Abstract

UProcessUnitTest

Base class for all unit tests which launch child processes, whether they be UE4 child processes, or other arbitrary programs.

Public class UClass

UUnitTask

UnitTask's are used to implement supporting code for UnitTest's, for handling complex behind-the-scenes setup prior to test execution (e.g. primarily for implementing game-specific server/client environment setup), which is shared between many unit tests, and which is better to abstract-away from visibility in unit tests themselves, for code clarity.

Public class UClass Abstract Config

UUnitTest

Base class for all unit tests

Public class UClass

UUnitTestBase

Base class for the unit test framework event implementation (all engine/external-triggered events are wrapped, in order to hook logs triggered during their execution)

Public class UClass

UUnitTestCommandlet

A commandlet for running unit tests, without having to launch the game client.

Public class UClass Config

UUnitTestManager

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

Constants

Name

Description

NMT_NUTControl

Custom control channel message, used to communicate with the server NUTActor over the control channel.

Typedefs

Name

Description

FOnHandleClientPlayer

Delegate for hooking the HandlerClientPlayer event

FOnMinClientConnected

Delegate for marking the minimal client as having connected fully

FOnMinClientNetActor

Delegate for notifying AFTER an actor channel actor has been created

FOnMinClientNetworkFailure

Delegate for passing back a network connection failure

FOnMinClientReceivedControlBunch

Delegate for hooking the control channel's 'ReceivedBunch' call

FOnMinClientReceivedRawPacket

Delegate for hooking the net connections 'ReceivedRawPacket'

FOnMinClientRepActorSpawn

Delegate for notifying on (and optionally blocking) replicated actor creation

FOnRPCFailure

Delegate for notifying of failure during call of SendRPCChecked

FOnSuspendStateChange

Delegate notifying that a process suspend state has changed

FProcessLogWatch

Delegate for implementing process log watches

Enums

Name

Description

Public enum

EErrorLogStage

Enum for different stages of error log parsing (mainly applicable to UE4 processes)

Public enum

ELogType

EnumsUsed to help identify what type of log is being processed

Public enum UEnum

EMinClientFlags

Flags for configuring the minimal client, what parts of the netcode should be enabled etc.

Public enum

ENUTControlCommand

Enum for defining custom NetcodeUnitTest control channel commands (sent through NMT_NUTControl)

Public enum

ESuspendState

Enum for specifying the suspend state of a process (typically the server)

Public enum

EUnitTaskFlags

Enums Flags for specifying the required conditions for executing a UnitTask, and what stages of the unit test to block until completion

Public enum

EUnitTestFlags

Flags for configuring how individual unit tests make use of the base client unit test framework.

Public enum UEnum

EUnitTestResetStage

The different stages that unit tests can be reset to - a global/non-locally-customizable list, for now NOTE: Stages MUST be sequential! (e.g. ResetConnection implies ResetExecute, FullReset implies both ResetConnection and ResetExecute) NOTE: Apart from checking for 'None', all comparisons should be either <= or >=, to support potential enum additions

Public enum UEnum

EUnitTestVerification

Enums The verification status of the current unit test - normally its execution completes immediately after positive/negative verification

Public enum

EVMRefWarning

Used for specifying the warning level, for reflection helpers

Functions

Name Description

Public function

EMinClientFl...

 

FromUnitTestFlags

(
    EUnitTestFlags Flags
)

Converts any EUnitTestFlags values, to their EMinClientFlags equivalent

EMinClientFlags

Public function

int32

 

GetUnitTaskPriority

(
    EUnitTaskFlags InFlags
)

Returns the numeric priority for the specified UnitTask flags

EUnitTaskFlags

Public function

FString

 

GetUnitTestFlagName

(
    EUnitTestFlags Flag
)

Used to get name values for the above enum

EUnitTestFlags

Public function

FString

 

GetUnitTestResetStageName

(
    EUnitTestResetStage Stage
)

EUnitTestResetStage

Public function

bool

 

GGlobalExec

(
    UWorld* InWorld,
    const TCHAR* Cmd,
    FOutputDevice& Ar
)

Provides a globally-accessible wrapper for the Exec function, which all modules can use (including those that don't inherit Engine), for executing console commands - useful for debugging e.g. pre-Engine netcode (such as the PacketHandler code).

Public function

**&#...

 

if

(
    InvItemsArray!
)

Public function

constexpr bo...

 

operator!

(
    EUnitTaskFlags E
)

Public function

constexpr bo...

 

operator!

(
    EMinClientFlags E
)

Public function

constexpr bo...

 

operator!

(
    EUnitTestFlags E
)

Public function

constexpr bo...

 

operator!

(
    ELogType E
)

Public function

constexpr EU...

 

operator&

(
    EUnitTaskFlags Lhs,
    EUnitTaskFlags Rhs
)

Public function

constexpr EM...

 

operator&

(
    EMinClientFlags Lhs,
    EMinClientFlags Rhs
)

Public function

constexpr EU...

 

operator&

(
    EUnitTestFlags Lhs,
    EUnitTestFlags Rhs
)

Public function

constexpr EL...

 

operator&

(
    ELogType Lhs,
    ELogType Rhs
)

Public function

EUnitTestFla...

 

operator&=

(
    EUnitTestFlags& Lhs,
    EUnitTestFlags Rhs
)

Public function

EMinClientFl...

 

operator&=

(
    EMinClientFlags& Lhs,
    EMinClientFlags Rhs
)

Public function

ELogType &

 

operator&=

(
    ELogType& Lhs,
    ELogType Rhs
)

Public function

EUnitTaskFla...

 

operator&=

(
    EUnitTaskFlags& Lhs,
    EUnitTaskFlags Rhs
)

Public function

constexpr EU...

 

operator^

(
    EUnitTaskFlags Lhs,
    EUnitTaskFlags Rhs
)

Public function

constexpr EM...

 

operator^

(
    EMinClientFlags Lhs,
    EMinClientFlags Rhs
)

Public function

constexpr EU...

 

operator^

(
    EUnitTestFlags Lhs,
    EUnitTestFlags Rhs
)

Public function

constexpr EL...

 

operator^

(
    ELogType Lhs,
    ELogType Rhs
)

Public function

EUnitTestFla...

 

operator^=

(
    EUnitTestFlags& Lhs,
    EUnitTestFlags Rhs
)

Public function

EUnitTaskFla...

 

operator^=

(
    EUnitTaskFlags& Lhs,
    EUnitTaskFlags Rhs
)

Public function

EMinClientFl...

 

operator^=

(
    EMinClientFlags& Lhs,
    EMinClientFlags Rhs
)

Public function

ELogType &

 

operator^=

(
    ELogType& Lhs,
    ELogType Rhs
)

Public function

constexpr EL...

 

operator|

(
    ELogType Lhs,
    ELogType Rhs
)

Public function

constexpr EU...

 

operator|

(
    EUnitTestFlags Lhs,
    EUnitTestFlags Rhs
)

Public function

constexpr EM...

 

operator|

(
    EMinClientFlags Lhs,
    EMinClientFlags Rhs
)

Public function

constexpr EU...

 

operator|

(
    EUnitTaskFlags Lhs,
    EUnitTaskFlags Rhs
)

Public function

EUnitTaskFla...

 

operator|=

(
    EUnitTaskFlags& Lhs,
    EUnitTaskFlags Rhs
)

Public function

EMinClientFl...

 

operator|=

(
    EMinClientFlags& Lhs,
    EMinClientFlags Rhs
)

Required for bitwise operations with the above enum.

Public function

EUnitTestFla...

 

operator|=

(
    EUnitTestFlags& Lhs,
    EUnitTestFlags Rhs
)

Required for bitwise operations with the above enum.

Public function

ELogType &

 

operator|=

(
    ELogType& Lhs,
    ELogType Rhs
)

Public function

constexpr EU...

 

operator~

(
    EUnitTaskFlags E
)

Public function

constexpr EM...

 

operator~

(
    EMinClientFlags E
)

Public function

constexpr EL...

 

operator~

(
    ELogType E
)

Public function

constexpr EU...

 

operator~

(
    EUnitTestFlags E
)

Public function

ELogType

 

OptionalFlags

(
    ELogType InFlags
)

Macro defines Helper function, for macro defines - allows the 'UnitLogTypeFlags' macro parameters below, to be optional

Public function

EMinClientFl...

 

ValidateMinFlags

(
    EMinClientFlags RuntimeFlags
)

Validates, both at compile time (template param) or at runtime (function param), that the specified EMinClientFlags flags are valid.

Variables

Name Description

Public variable

*UStructPro...

 

EntryItemGuidProp

Public variable

*FGuid *...

 

EntryItemGuidRef

Public variable

FUnitLogInterfa...

 

GActiveLogEngineEvent

Public variable

FUnitLogInterfa...

 

GActiveLogInterface

GlobalsUsed by to aid in hooking log messages triggered by unit tests

Globals

Public variable

ELogType

 

GActiveLogTypeFlags

The current ELogType flag modifiers, associated with a UNIT_LOG or UNIT_STATUS_LOG/STATUS_LOG call

Public variable

UWorld *

 

GActiveLogWorld

Public variable

UNetConnection ...

 

GActiveReceiveUnitConnection

Keeps track of the UUnitTestNetConnection, currently processing received data (to aid with selective log hooking)

Public variable

bool

 

GIsInitializingActorChan

Whether not an actor channel, is in the process of initializing the remote actor

Globals

Public variable

FLogStackTraceM...

 

GLogTraceManager

Log hook for managing tying of log entry detection to the trace manager

Public variable

FStackTraceMana...

 

GTraceManager

Provides a globally accessible trace manager, for easy access to stack trace debugging

Globals

Public variable

UUnitTestManage...

 

GUnitTestManager

Globals/externsHolds a reference to the object in charge of managing unit tests

Public variable

*FScriptArr...

 

InvItemsArray

Public variable

*UStructPro...

 

InvItemsEntryProp

Public variable

**void ...

 

InvItemsEntryRef

Public variable

*UArrayProp...

 

InvItemsProp

Public variable

TMap< FString, ...

 

UnitTestEnvironments

The list of registered unit test environments, mapped to game name (unit test modules should add to this, within StartupModule)

Public variable

*UStructPro...

 

WIInventoryProp

Public variable

*void *

 

WIInventoryRef

Public variable

*AActor ...

 

WorldInv

Public variable

*UObjectPro...

 

WorldInvProp

FVMReflection - Reflection Helper

Public variable

*UObject &#...

 

WorldInvRef

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback