UFunction

Reflection data for a replicated or Kismet callable function.

Windows
MacOS
Linux

Inheritance Hierarchy

Syntax

class UFunction : public UStruct

Remarks

Reflection data for a replicated or Kismet callable function.

Variables

Name Description

Public variable

int32

 

EventGraphCallOffset

The state offset inside of the event graph (persistent)

Public variable

UFunction *

 

EventGraphFunction

The event graph this function calls in to (persistent)

Public variable

UProperty *

 

FirstPropertyToInit

Pointer to first local struct property in this UFunction that contains defaults

Public variable

EFunctionFlags

 

FunctionFlags

EFunctionFlags set defined for this function

Public variable

uint8

 

NumParms

Number of parameters total

Public variable

uint16

 

ParmsSize

Total size of parameters in memory

Public variable

uint16

 

ReturnValueOffset

Memory offset of return value property

Public variable

uint16

 

RPCId

Id of this RPC function call (must be FUNC_Net & (FUNC_NetService|FUNC_NetResponse))

Public variable

uint16

 

RPCResponseId

Id of the corresponding response call (must be FUNC_Net & FUNC_NetService)

Constructors

Name Description

Public function

UFunction

(
    const FObjectInitializer& ObjectIn...
)

Public function

UFunction

(
    FVTableHelper& Helper
)

DO NOT USE. This constructor is for internal usage only for hot-reload purposes.

Public function

UFunction

(
    UFunction* InSuperFunction,
    EFunctionFlags InFunctionFlags,
    SIZE_T ParamsSize
)

Public function

UFunction

(
    const FObjectInitializer& ObjectIn...,
    UFunction* InSuperFunction,
    EFunctionFlags InFunctionFlags,
    SIZE_T ParamsSize
)

Constructors.

Functions

Name Description

Public function Static

void

 

__DefaultConstructor

(
    const FObjectInitializer& X
)

Public function Static

UObject *...

 

__VTableCtorCaller

(
    FVTableHelper& Helper
)

Public function Static

uint64

 

GetDefaultIgnoredSignatureCompatibilityFlags()

Returns the flags that are ignored by default when comparing function signatures.

Public function Const

FNativeFuncP...

 

GetNativeFunc()

Returns the native func pointer.

Public function Const

UClass *

 

GetOuterUClass()

Public function Const

UClass *

 

GetOuterUClassUnchecked()

Returns the owning UClass* without branching

Public function Const

UProperty &#...

 

GetReturnProperty()

Returns the return value property if there is one, or null

Public function Const

UFunction &#...

 

GetSuperFunction()

Returns parent function if there is one, or null

Public function Const

bool

 

HasAllFunctionFlags

(
    EFunctionFlags FlagsToCheck
)

Used to safely check whether all of the passed in flags are set.

Public function Const

bool

 

HasAnyFunctionFlags

(
    EFunctionFlags FlagsToCheck
)

Used to safely check whether the passed in flag is set.

Public function

void

 

InitializeDerivedMembers()

Initializes transient members like return value offset

Public function

void

 

Invoke

(
    UObject* Obj,
    FFrame& Stack,
    void*const Z_Param__Result
)

Invokes the UFunction on a UObject.

Public function Const

bool

 

IsSignatureCompatibleWith

(
    const UFunction* OtherFunction,
    uint64 IgnoreFlags
)

Determines if two functions have an identical signature (note: currently doesn't allow matches with class parameters that differ only in how derived they are; there is no directionality to the call)

Public function Const

bool

 

IsSignatureCompatibleWith

(
    const UFunction* OtherFunction
)

Determines if two functions have an identical signature (note: currently doesn't allow matches with class parameters that differ only in how derived they are; there is no directionality to the call)

Public function

void

 

SetNativeFunc

(
    FNativeFuncPtr InFunc
)

Sets the native func pointer.

Public function Static

UClass *

 

StaticClass()

Returns a UClass object representing this class at runtime

Public function Static

EClassCastFl...

 

StaticClassCastFlags()

Returns the static cast flags for this class

Public function Static

const TCHAR ...

 

StaticPackage()

Returns the package this class belongs in

Public function Static

void

 

StaticRegisterNativesUFunction()

Overridden from UStruct

Name Description

Public function Virtual Const

UStruct *...

 

GetInheritanceSuper()

Returns the structure used for inheritance, may be changed by child types

Public function Virtual

void

 

Link

(
    FArchive& Ar,
    bool bRelinkExistingProperties
)

Creates the field/property links and gets structure ready for use at runtime

Overridden from UField

Name Description

Public function Virtual

void

 

Bind()

Overridden from UObject

Name Description

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Operators

Name Description

Public function

void *

 

operator new

(
    const size_t InSize,
    EInternal* InMem
)

For internal use only; use StaticConstructObject() to create new objects.

Public function

void *

 

operator new

(
    const size_t InSize,
    EInternal InInternalOnly,
    UObject* InOuter,
    FName InName,
    EObjectFlags InSetFlags
)

For internal use only; use StaticConstructObject() to create new objects.

Typedefs

Name

Description

Super

Typedef for the base class (UStruct)

ThisClass

Typedef for UFunction.

WithinClass

The required type of this object's outer (class UClass)

Constants

Name

Description

StaticClassFlags

Bitwise union of EClassFlags pertaining to this class.

References

Module

CoreUObject

Header

Runtime/CoreUObject/Public/UObject/Class.h

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