UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PropertyAccess.h File Reference
#include "CoreMinimal.h"
#include "Containers/ArrayView.h"
#include "UObject/WeakObjectPtrTemplates.h"
#include "UObject/Object.h"
#include "PropertyAccess.generated.h"

Go to the source code of this file.

Classes

struct  PropertyAccess::FCopyBatchId
 
struct  FPropertyAccessIndirection
 
struct  FPropertyAccessIndirectionChain
 
struct  FPropertyAccessSegment
 
struct  FPropertyAccessPath
 
struct  FPropertyAccessCopy
 
struct  FPropertyAccessCopyBatch
 
struct  FPropertyAccessLibrary
 

Namespaces

namespace  PropertyAccess
 

Enumerations

enum class  EPropertyAccessCopyBatch : uint8 {
  InternalUnbatched , ExternalUnbatched , InternalBatched , ExternalBatched ,
  Count
}
 
enum class  EPropertyAccessIndirectionType : uint8 {
  Offset , Object , Array , ScriptFunction ,
  NativeFunction
}
 
enum class  EPropertyAccessObjectType : uint8 { None , Object , WeakObject , SoftObject }
 
enum class  EPropertyAccessSegmentFlags : uint16 {
  Unresolved = 0 , Struct , Leaf , Object ,
  WeakObject , SoftObject , Array , ArrayOfStructs ,
  ArrayOfObjects , LastExclusiveValue = ArrayOfObjects , Function = (1 << 15) , ModifierFlags = (Function)
}
 
enum class  EPropertyAccessCopyType : uint8 {
  None , Plain , Complex , Bool ,
  Struct , Object , Name , Array ,
  PromoteBoolToByte , PromoteBoolToInt32 , PromoteBoolToInt64 , PromoteBoolToFloat ,
  PromoteBoolToDouble , PromoteByteToInt32 , PromoteByteToInt64 , PromoteByteToFloat ,
  PromoteByteToDouble , PromoteInt32ToInt64 , PromoteInt32ToFloat , PromoteInt32ToDouble ,
  PromoteFloatToDouble , DemoteDoubleToFloat , PromoteArrayFloatToDouble , DemoteArrayDoubleToFloat ,
  PromoteMapValueFloatToDouble , DemoteMapValueDoubleToFloat
}
 

Functions

void PropertyAccess::PostLoadLibrary (FPropertyAccessLibrary &InLibrary)
 
void PropertyAccess::PatchPropertyOffsets (FPropertyAccessLibrary &InLibrary)
 
void PropertyAccess::ProcessCopies (UObject *InObject, const FPropertyAccessLibrary &InLibrary, const FCopyBatchId &InBatchId)
 
void PropertyAccess::ProcessCopies (UObject *InObject, const FPropertyAccessLibrary &InLibrary, EPropertyAccessCopyBatch InBatchType)
 
void PropertyAccess::ProcessCopy (UObject *InObject, const FPropertyAccessLibrary &InLibrary, const FCopyBatchId &InBatchId, int32 InCopyIndex, TFunctionRef< void(const FProperty *, void *)> InPostCopyOperation)
 
void PropertyAccess::ProcessCopy (UObject *InObject, const FPropertyAccessLibrary &InLibrary, EPropertyAccessCopyBatch InBatchType, int32 InCopyIndex, TFunctionRef< void(const FProperty *, void *)> InPostCopyOperation)
 
void PropertyAccess::BindEvents (UObject *InObject, const FPropertyAccessLibrary &InLibrary)
 
int32 PropertyAccess::GetEventId (const UClass *InClass, TArrayView< const FName > InPath)
 
void PropertyAccess::GetAccessAddress (UObject *InObject, const FPropertyAccessLibrary &InLibrary, int32 InAccessIndex, TFunctionRef< void(const FProperty *, void *)> InFunction)
 
 ENUM_CLASS_FLAGS (EPropertyAccessSegmentFlags)
 

Enumeration Type Documentation

◆ EPropertyAccessCopyBatch

Enumerator
InternalUnbatched 
ExternalUnbatched 
InternalBatched 
ExternalBatched 
Count 

◆ EPropertyAccessCopyType

Enumerator
None 
Plain 
Complex 
Bool 
Struct 
Object 
Name 
Array 
PromoteBoolToByte 
PromoteBoolToInt32 
PromoteBoolToInt64 
PromoteBoolToFloat 
PromoteBoolToDouble 
PromoteByteToInt32 
PromoteByteToInt64 
PromoteByteToFloat 
PromoteByteToDouble 
PromoteInt32ToInt64 
PromoteInt32ToFloat 
PromoteInt32ToDouble 
PromoteFloatToDouble 
DemoteDoubleToFloat 
PromoteArrayFloatToDouble 
DemoteArrayDoubleToFloat 
PromoteMapValueFloatToDouble 
DemoteMapValueDoubleToFloat 

◆ EPropertyAccessIndirectionType

Enumerator
Offset 
Object 
Array 
ScriptFunction 
NativeFunction 

◆ EPropertyAccessObjectType

Enumerator
None 
Object 
WeakObject 
SoftObject 

◆ EPropertyAccessSegmentFlags

Enumerator
Unresolved 
Struct 
Leaf 
Object 
WeakObject 
SoftObject 
Array 
ArrayOfStructs 
ArrayOfObjects 
LastExclusiveValue 
Function 
ModifierFlags 

Function Documentation

◆ ENUM_CLASS_FLAGS()

ENUM_CLASS_FLAGS ( EPropertyAccessSegmentFlags  )