UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::UniversalObjectLocator::FFragmentType Struct Reference

#include <UniversalObjectLocatorFragmentType.h>

+ Inheritance diagram for UE::UniversalObjectLocator::FFragmentType:

Public Types

using FResolveCallback = FResolveResult(*)(const void *, const FResolveParams &)
 
using FInitializeCallback = FInitializeResult(*)(void *, const FInitializeParams &)
 
using FToString = void(*)(const void *, FStringBuilderBase &)
 
using FTryParseString = FParseStringResult(*)(void *, FStringView, const FParseStringParams &)
 
using FPriorityCallback = uint32(*)(const UObject *, const UObject *)
 
using FFragmentDebugInitializer = void(*)(void *)
 

Public Member Functions

FResolveResult ResolvePayload (const void *Payload, const FResolveParams &Params) const
 
FInitializeResult InitializePayload (void *Payload, const FInitializeParams &InParams) const
 
void ToString (const void *Payload, FStringBuilderBase &OutStringBuilder) const
 
FParseStringResult TryParseString (void *Payload, FStringView InString, const FParseStringParams &Params) const
 
uint32 ComputePriority (const UObject *Object, const UObject *Context) const
 
UScriptStructGetStruct () const
 

Public Attributes

struct { 
 
   FInitializeCallback   Initialize 
 
   FResolveCallback   Resolve 
 
   FToString   ToString 
 
   FTryParseString   TryParseString 
 
InstanceBindings 
 
struct { 
 
   FPriorityCallback   Priority 
 
   FFragmentDebugInitializer   FragmentDebugInitializer 
 
StaticBindings 
 
TObjectPtr< const UScriptStructPayloadType
 
FText DisplayText
 
FName FragmentTypeID
 
FName PrimaryEditorType
 
EFragmentTypeFlags Flags
 

Detailed Description

A Universal Object Locator fragment type defines a specific mechanism for resolving an object that is referenced inside a Universal Object Locator (which can be considered a chain of fragments). Each fragment contains the attributes defining its payload, and how to interact that payload.

In order to define a new fragment type, consumers must provide a UStruct 'payload' that defines the data required for the reference. The struct also defines how to interact with the payload via the following functions:

// Initialize the fragment to point at an object within a context FInitializeResult Initialize(const FInitializeParams& InParams) const; // Resolve the fragment to the resulting object, potentially loading or unloading it FResolveResult Resolve(const FResolveParams& Params) const;

// Convert this fragment to its string representation void ToString(FStringBuilderBase& OutStringBuilder) const; // Try and parse this fragment from its string representation FParseStringResult TryParseString(FStringView InString, const FParseStringParams& Params) const;

// Compute a priority for this fragment based on an object and context in order to decide which fragment type should be used if multiple can address the same object static uint32 ComputePriority(const UObject* Object, const UObject* Context) const;

Types must also be UStructs that are equality comparable, and GetTypeHashable. These functions are bound as function pointers on construction, allowing them potentially to be inlined into the static dispatchers.

Member Typedef Documentation

◆ FFragmentDebugInitializer

◆ FInitializeCallback

◆ FPriorityCallback

◆ FResolveCallback

◆ FToString

◆ FTryParseString

Member Function Documentation

◆ ComputePriority()

uint32 UE::UniversalObjectLocator::FFragmentType::ComputePriority ( const UObject Object,
const UObject Context 
) const

◆ GetStruct()

UScriptStruct * UE::UniversalObjectLocator::FFragmentType::GetStruct ( ) const
inline

◆ InitializePayload()

FInitializeResult UE::UniversalObjectLocator::FFragmentType::InitializePayload ( void Payload,
const FInitializeParams InParams 
) const

◆ ResolvePayload()

FResolveResult UE::UniversalObjectLocator::FFragmentType::ResolvePayload ( const void Payload,
const FResolveParams Params 
) const

◆ ToString()

void UE::UniversalObjectLocator::FFragmentType::ToString ( const void Payload,
FStringBuilderBase OutStringBuilder 
) const

◆ TryParseString()

FParseStringResult UE::UniversalObjectLocator::FFragmentType::TryParseString ( void Payload,
FStringView  InString,
const FParseStringParams Params 
) const

Member Data Documentation

◆ DisplayText

FText UE::UniversalObjectLocator::FFragmentType::DisplayText

Descriptive display text for this type of fragment type

◆ Flags

EFragmentTypeFlags UE::UniversalObjectLocator::FFragmentType::Flags

Flags defining behavior of this fragment type

◆ FragmentDebugInitializer

FFragmentDebugInitializer UE::UniversalObjectLocator::FFragmentType::FragmentDebugInitializer

Function callback for initializing a vftable for the fragment for debugging purposes

◆ FragmentTypeID

FName UE::UniversalObjectLocator::FFragmentType::FragmentTypeID

Unique identifier for this fragment type. This is serialized persistently to identify the fragment type, and exists as part of the fragment type's string representation

◆ Initialize

FInitializeCallback UE::UniversalObjectLocator::FFragmentType::Initialize

Function binding for initializing a payload with this fragment type

◆ [struct]

struct { ... } UE::UniversalObjectLocator::FFragmentType::InstanceBindings

Bindings structure for function pointers that directly invoke behavior on fragment type payloads

◆ PayloadType

TObjectPtr<const UScriptStruct> UE::UniversalObjectLocator::FFragmentType::PayloadType

Struct pointer to the payload type

◆ PrimaryEditorType

FName UE::UniversalObjectLocator::FFragmentType::PrimaryEditorType

Name of the primary editor type for this fragment type, defining how it appears on UI

◆ Priority

FPriorityCallback UE::UniversalObjectLocator::FFragmentType::Priority

static function binding for computing the priority of this fragment type

◆ Resolve

FResolveCallback UE::UniversalObjectLocator::FFragmentType::Resolve

Function binding for resolving a payload for this fragment type

◆ [struct]

struct { ... } UE::UniversalObjectLocator::FFragmentType::StaticBindings

Bindings structure for function pointers that directly invoke behavior on fragment type payloads

◆ ToString

void UE::UniversalObjectLocator::FFragmentType::ToString

Function binding for serializing this payload to a string

◆ TryParseString

FParseStringResult UE::UniversalObjectLocator::FFragmentType::TryParseString

Function binding for parsing this payload from a string


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