FFieldPath

Windows
MacOS
Linux

Inheritance Hierarchy

FFieldPath

TFieldPath

References

Module

CoreUObject

Header

/Engine/Source/Runtime/CoreUObject/Public/UObject/FieldPath.h

Include

#include "UObject/FieldPath.h"

Syntax

struct FFieldPath

Variables

Name Description

Protected variable

FFieldClass ...

 

InitialFieldClass

In editor builds, store the original class of the resolved property in case it changes after recompiling BPs

Protected variable

TArray< FName >

 

Path

Path to the FField object from the innermost FField to the outermost UObject (UPackage)

Protected variable

FField *

 

ResolvedField

Untracked pointer to the resolved property

Protected variable

int32

 

ResolvedFieldOwner

GC tracked index of property owner UObject

Protected variable

int32

 

SerialNumber

Serial number this FFieldPath was last resolved with

Constructors

Name Description

Public function

FFieldPath()

Public function

FFieldPath

(
    FField* InField
)

Public function

FFieldPath

(
    const FFieldPath& Other
)

Public function

FFieldPath

(
    UField* InField,
    const FName& InPropertyTypeName
)

Functions

Name Description

Public function

void

 

ClearCachedField()

Clears the cached value so that the next time Get() is called, it will be resolved again

Public function

void

 

Generate

(
    FField* InField
)

Generates path from the passed in field pointer

Public function

void

 

Generate

(
    const TCHAR* InFieldPathString
)

Generates path from the passed in field pointer

Public function

void

 

GenerateFromUField

(
    UField* InField
)

Public function

FField *...

 

GetResolvedFieldInternal()

FOR INTERNAL USE ONLY: gets the pointer to the resolved field without trying to resolve it

Public function

int32 &

 

GetResolvedFieldOwnerInternal()

Public function Const

bool

 

IsEmpty()

Returns true if the field path is empty

Public function Const

bool

 

IsPathIdentical

(
    const FFieldPath& InOther
)

Public function Const

bool

 

IsStale()

Slightly different than !IsValid(), returns true if this used to point to a FField, but doesn't any more and has not been assigned or reset in the mean time.

Protected function Const

bool

 

NeedsResolving()

Public function Static

void

 

OnFieldDeleted()

Called when fields have been deleted to bump the global serial number and invalidate cached pointers

Public function

void

 

Reset()

Reset the weak pointer back to the NULL state

Public function Const

void

 

ResolveField

(
    FFieldClass* ExpectedClass,
    UStruct* InCurrentStruct,
    EPathResolveType InResolveType
)

Tries to resolve the path and caches the result

Public function Const

FString

 

ToString()

Public function Const

FField *

 

TryToResolvePath

(
    UStruct* InCurrentStruct,
    int32* OutOwnerIndex,
    EPathResolveType InResolveType
)

Tries to resolve the path without caching the resolved pointer

Enums

Name

Description

Protected enum

EPathResolveType

Determines the behavior when resolving stored path

Constants

Name

Description

GlobalSerialNumber

Global serial number that gets increased each time UStruct destyroys its properties

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss