![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#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 |
| UScriptStruct * | GetStruct () const |
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.
| using UE::UniversalObjectLocator::FFragmentType::FInitializeCallback = FInitializeResult (*)(void* , const FInitializeParams&) |
| using UE::UniversalObjectLocator::FFragmentType::FPriorityCallback = uint32 (*)(const UObject* , const UObject* ) |
| using UE::UniversalObjectLocator::FFragmentType::FResolveCallback = FResolveResult (*)(const void* , const FResolveParams& ) |
| using UE::UniversalObjectLocator::FFragmentType::FToString = void (*)(const void* , FStringBuilderBase& ) |
| using UE::UniversalObjectLocator::FFragmentType::FTryParseString = FParseStringResult (*)(void* , FStringView , const FParseStringParams& ) |
| uint32 UE::UniversalObjectLocator::FFragmentType::ComputePriority | ( | const UObject * | Object, |
| const UObject * | Context | ||
| ) | const |
|
inline |
| FInitializeResult UE::UniversalObjectLocator::FFragmentType::InitializePayload | ( | void * | Payload, |
| const FInitializeParams & | InParams | ||
| ) | const |
| FResolveResult UE::UniversalObjectLocator::FFragmentType::ResolvePayload | ( | const void * | Payload, |
| const FResolveParams & | Params | ||
| ) | const |
| void UE::UniversalObjectLocator::FFragmentType::ToString | ( | const void * | Payload, |
| FStringBuilderBase & | OutStringBuilder | ||
| ) | const |
| FParseStringResult UE::UniversalObjectLocator::FFragmentType::TryParseString | ( | void * | Payload, |
| FStringView | InString, | ||
| const FParseStringParams & | Params | ||
| ) | const |
| FText UE::UniversalObjectLocator::FFragmentType::DisplayText |
Descriptive display text for this type of fragment type
| EFragmentTypeFlags UE::UniversalObjectLocator::FFragmentType::Flags |
Flags defining behavior of this fragment type
| FFragmentDebugInitializer UE::UniversalObjectLocator::FFragmentType::FragmentDebugInitializer |
Function callback for initializing a vftable for the fragment for debugging purposes
| 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
| FInitializeCallback UE::UniversalObjectLocator::FFragmentType::Initialize |
Function binding for initializing a payload with this fragment type
| struct { ... } UE::UniversalObjectLocator::FFragmentType::InstanceBindings |
Bindings structure for function pointers that directly invoke behavior on fragment type payloads
| TObjectPtr<const UScriptStruct> UE::UniversalObjectLocator::FFragmentType::PayloadType |
Struct pointer to the payload type
| FName UE::UniversalObjectLocator::FFragmentType::PrimaryEditorType |
| FPriorityCallback UE::UniversalObjectLocator::FFragmentType::Priority |
static function binding for computing the priority of this fragment type
| FResolveCallback UE::UniversalObjectLocator::FFragmentType::Resolve |
Function binding for resolving a payload for this fragment type
| struct { ... } UE::UniversalObjectLocator::FFragmentType::StaticBindings |
Bindings structure for function pointers that directly invoke behavior on fragment type payloads
| void UE::UniversalObjectLocator::FFragmentType::ToString |
Function binding for serializing this payload to a string
| FParseStringResult UE::UniversalObjectLocator::FFragmentType::TryParseString |
Function binding for parsing this payload from a string