UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Verse::ICustomAttributeHandler Class Reference

#include <VVMCustomAttributeHandler.h>

Public Member Functions

virtual COREUOBJECT_API ~ICustomAttributeHandler ()
 
virtual COREUOBJECT_API bool ProcessAttribute (const CAttributeValue &Payload, UStruct *UeStruct, TArray< FString > &OutErrorMessages)
 
virtual COREUOBJECT_API bool ProcessAttribute (const CAttributeValue &Payload, FProperty *UeProperty, TArray< FString > &OutErrorMessages)
 
virtual COREUOBJECT_API bool ProcessAttribute (const CAttributeValue &Payload, UFunction *UeFunction, TArray< FString > &OutErrorMessages)
 
virtual COREUOBJECT_API bool ProcessAttribute (const CAttributeValue &Payload, UEnum *UeEnum, TArray< FString > &OutErrorMessages)
 

Static Public Member Functions

static COREUOBJECT_API ICustomAttributeHandlerFindHandlerForAttribute (const FName AttributeName)
 

Static Protected Attributes

static COREUOBJECT_API TMap< FName, ICustomAttributeHandler * > AttributeHandlers
 

Detailed Description

Interface for native processing of Verse Custom Attributes

Any Verse attribute that has the attribute @customattribhandler will attempt to call back into native code at UClass construction time, which should be handled by an implementation of this interface.

In general, these handlers should be implemented in the native module corresponding to the Verse module that declares the custom attribute. In StartupModule() in that module, the handler should add itself to the AttributeHandlers map, and when UClasses are constructed, any custom attributes with registered names will be processed. When the instance is cleared, the handler is unregistered automatically in the destructor.

Constructor & Destructor Documentation

◆ ~ICustomAttributeHandler()

Verse::ICustomAttributeHandler::~ICustomAttributeHandler ( )
virtual

Member Function Documentation

◆ FindHandlerForAttribute()

ICustomAttributeHandler * Verse::ICustomAttributeHandler::FindHandlerForAttribute ( const FName  AttributeName)
static

Static helper to search for a handler registered for a given custom attribute name

◆ ProcessAttribute() [1/4]

bool Verse::ICustomAttributeHandler::ProcessAttribute ( const CAttributeValue Payload,
FProperty UeProperty,
TArray< FString > &  OutErrorMessages 
)
virtual

◆ ProcessAttribute() [2/4]

bool Verse::ICustomAttributeHandler::ProcessAttribute ( const CAttributeValue Payload,
UEnum UeEnum,
TArray< FString > &  OutErrorMessages 
)
virtual

◆ ProcessAttribute() [3/4]

bool Verse::ICustomAttributeHandler::ProcessAttribute ( const CAttributeValue Payload,
UFunction UeFunction,
TArray< FString > &  OutErrorMessages 
)
virtual

◆ ProcessAttribute() [4/4]

bool Verse::ICustomAttributeHandler::ProcessAttribute ( const CAttributeValue Payload,
UStruct UeStruct,
TArray< FString > &  OutErrorMessages 
)
virtual

Handlers to be implemented by each custom attribute, for each type that custom attributes can be applied to. Returns false if we were unable to process for the specified name, and implies the linker task will retry again until it succeeds.

Member Data Documentation

◆ AttributeHandlers

TMap< FName, ICustomAttributeHandler * > Verse::ICustomAttributeHandler::AttributeHandlers
staticprotected

A static map of the name of the custom attribute, to the handler responsible for processing it


The documentation for this class was generated from the following files: