Navigation
API > API/Runtime > API/Runtime/UniversalObjectLocator
References
| Module | UniversalObjectLocator |
| Header | /Engine/Source/Runtime/UniversalObjectLocator/Public/UniversalObjectLocator.h |
| Include | #include "UniversalObjectLocator.h" |
Syntax
USTRUCT (BlueprintType , Category=GameFramework,
Meta=(HasNativeMake="/Script/Engine.UniversalObjectLocatorScriptingExtensions.MakeUniversalObjectLocator"))
struct FUniversalObjectLocator
Remarks
Universal Object Locators (UOLs) define an address to an object.
The address is implemented as a chain of FUniversalObjectLocatorFragments, allowing addressing of objects that may be nested deeply within levels of externally defined spawn or ownership logic.
For example, a Universal Object Locator may reference an Anim Instance within a Skeletal Mesh Actor is spawned by a Child Actor Component that is spawned by Sequencer. This is impossible with a regular soft object path, but is perfectly feasible for a UOL.
This type is 16 bytes.
Constructors
| Type | Name | Description | |
|---|---|---|---|
| Default constructor | |||
FUniversalObjectLocator
(
UObject* Object, |
Attempt to construct this locator from a given object. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddFragment
(
FUniversalObjectLocatorFragment&& InFragment |
Add a fragment to the end of this locator | |
| void | AddFragment
(
ArgTypes&&... FragmentArgs |
Templated helper for AddFragment | |
| FResolveResult | Attempt to find the object this locator points to. | ||
| FResolveResult | Attempt to find the object this locator points to, loading it if necessary (and possible). | ||
| FResolveResult | AsyncUnload
(
UObject* Context |
Attempt to unload the object this locator points to if possible. | |
| bool | ExportTextItem
(
FString& ValueStr, |
||
| bool | ForEachFragment
(
TFunctionRef< bool(int32, int32, const FUniversalObjectLocatorFragment&)> InFunction |
Iterate the fragments in this address | |
| FUniversalObjectLocator | FromString
(
FStringView InString, |
Attempt to deserialize a new locator from a string. | |
| UE::UniversalObjectLocator::EFragmentTypeFlags | Iterates over all fragments and combines their types' default flags. | ||
| const FUniversalObjectLocatorFragment * | Retrieve the last fragment in this address | ||
| FUniversalObjectLocatorFragment * | Retrieve the last fragment in this address | ||
| const UE::UniversalObjectLocator::FFragmentType * | Retrieve the fragment type relating to the last locator in this address | ||
| UE::UniversalObjectLocator::FFragmentTypeHandle | Retrieve the fragment type handle relating to the last locator in this address | ||
| bool | ImportTextItem
(
const TCHAR*& Buffer, |
||
| bool | IsEmpty () |
Check if this locator is 'empty'. An empty locator contains no fragments and will never resolve. | |
| void | Attempt to reset this locator to point at a different object. | ||
| void | Reset () |
Reset this locator back to its default-constructed, empty state | |
| FResolveResult | Resolve
(
const FResolveParams& Params |
Attempt to resolve this locator by invoking the payload's 'Resolve' function | |
| bool | SerializeFromMismatchedTag
(
const FPropertyTag& Tag, |
||
| UObject * | Attempt to find the object this locator points to. | ||
| UObject * | Attempt to find the object this locator points to, loading it if necessary (and possible), and blocking until it is loaded. | ||
| void | SyncUnload
(
UObject* Context |
Attempt to unload the object this locator points to if possible. | |
| void | ToString
(
FStringBuilderBase& OutString |
Convert this locator to its string representation | |
| FParseStringResult | TryParseString
(
FStringView InString, |
Attempt to deserialize this locator from a string |
Typedefs
| Name | Description |
|---|---|
| FParseStringParams | |
| FParseStringResult | |
| FResolveParams | |
| FResolveResult | |
| FResolveResultData |