Navigation
API > API/Plugins > API/Plugins/UAF
The FAssetDataFactory is used to produce FUAFAssetData from UObjects. This is mostly used for UI interactions in editor when users drop objects on to FUAFAssetData slots, for deprecation and also for some legacy API that takes UObject* directly to create UAF graphs + systems.
This factory links UObject class types to FUAFAssetData types.
Note: It is not a requirement for a FUAFAssetData be created from a UObject. It could also be created manually
| Name | FAssetDataFactory |
| Type | struct |
| Header File | /Engine/Plugins/Experimental/UAF/UAF/Source/UAF/Public/UAF/UAFAssetFactory.h |
| Include Path | #include "UAF/UAFAssetFactory.h" |
Syntax
struct FAssetDataFactory
Structs
| Name | Remarks |
|---|---|
| FInitializerInfo |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FAssetInitializer | TFunction< TInstancedStruct< FUAFAssetData >(const UObject *)> | Untyped UObject initializer. | UAF/UAFAssetFactory.h |
| TAssetInitializer | TFunction< TAssetDataType(const TObjectType *)> | UAF/UAFAssetFactory.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| AllSupportedObjectClassPaths | TArray< FTopLevelAssetPath > | UAF/UAFAssetFactory.h | |
| AssetInitializers | TMap< FTopLevelAssetPath, FInitializerInfo > | UAF/UAFAssetFactory.h |
Functions
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TInstancedStruct< FUAFAssetData > CreateUAFAssetDataFromObject
(
const UObject* Object |
Create a UAFAssetData object from the supplied Object. | UAF/UAFAssetFactory.h | |
static TInstancedStruct< TAssetDataType > CreateUAFAssetDataFromObject
(
const UObject* Object |
Attempt to create a typed version of a UAF asset data from a UObject. | UAF/UAFAssetFactory.h | |
static const FInitializerInfo * FindAssetInitializer
(
const UClass* Class |
UAF/UAFAssetFactory.h | ||
| Helper function to recursively gather all valid non-registered subclasses of SuperClass and add them into InOutCompatibleClasses Stops each branch at the first subclass that has its own registered initializer in AssetInitializers to avoid adding subclasses that have their own or closer related registered initializer already | UAF/UAFAssetFactory.h | ||
static TArray< UClass * > GetRegisteredObjectClasses () |
Get all registered UClass types. | UAF/UAFAssetFactory.h | |
static TArray< UClass * > GetRegisteredObjectClasses () |
UAF/UAFAssetFactory.h | ||
static TArray< UClass * > GetRegisteredObjectClasses
(
TSubScriptStructOf< FUAFAssetData > BaseAssetType |
Get registered UClass types that correspond to a specific baseclass of FUUAFAssetData. | UAF/UAFAssetFactory.h | |
static FTopLevelAssetPath RegisterAsset
(
TAssetInitializer< TAssetDataType, TObjectType >&& Initializer |
Register an UAF asset with the factory This defines a relationship between the TObjectType and the TAssetDataType. | UAF/UAFAssetFactory.h | |
static FTopLevelAssetPath RegisterAsset
(
TSubScriptStructOf< FUAFAssetData > AssetDataType, |
Register how to create a FUAFAssetReference from a ObjectClass. | UAF/UAFAssetFactory.h | |
static void UnregisterAsset
(
const FTopLevelAssetPath& InObjectClassPath |
Unregister an UAF asset with the factory. | UAF/UAFAssetFactory.h |