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

int32

 

FieldPathSerialNumber

In editor builds, fields may get deleted even though their owner struct remains

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

TWeakObjectPtr<...

 

ResolvedOwner

The cached owner of this field.

Constructors

Name Description

Public function

FFieldPath()

Public function

FFieldPath

(
    FField* InField
)

Public function

FFieldPath

(
    UField* InField,
    const FName& InPropertyTypeName
)

Functions

Name Description

Protected function Const

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 Const

FField *

 

GetTyped

(
    FFieldClass* ExpectedType,
    UStruct* InCurrentStruct
)

Gets the field represented by this FFieldPath

Public function Const

bool

 

IsPathToFieldEmpty()

Returns true if the field path is empty (does not test if the owner is valid) This is usually used to verify if the reason behind this field being unresolved is because the owner is missing or the property couldn't be found.

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

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,
    EPathResolveType InResolveType
)

Tries to resolve the path without caching the resolved pointer

Operators

Name Description

Public function Const

bool

 

operator!=

(
    const FFieldPath& InOther
)

Public function Const

bool

 

operator==

(
    const FFieldPath& InOther
)

Enums

Name

Description

Protected enum

EPathResolveType

Determines the behavior when resolving stored path

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