UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Interchange::FFactoryCommon Class Reference

#include <InterchangeImportCommon.h>

Classes

struct  FUpdateImportAssetDataParameters
 

Static Public Member Functions

static UE_API UAssetImportDataUpdateImportAssetData (FUpdateImportAssetDataParameters &Parameters)
 
static UE_API UAssetImportDataUpdateImportAssetData (FUpdateImportAssetDataParameters &Parameters, TFunctionRef< void(UInterchangeAssetImportData *)> CustomFileSourceUpdate)
 
static UE_API void ApplyReimportStrategyToAsset (UObject *Asset, const UInterchangeFactoryBaseNode *PreviousAssetNode, const UInterchangeFactoryBaseNode *CurrentAssetNode, UInterchangeFactoryBaseNode *PipelineAssetNode)
 
static UE_API UObjectGetObjectToReimport (UInterchangeFactoryBase *Factory, UObject *ReimportObject, const UInterchangeFactoryBaseNode &FactoryNode, const FString &PackageName, const FString &AssetName, const FString &SubPathString=FString())
 
static UE_API const UInterchangeFactoryBaseNodeGetFactoryNode (UObject *ReimportObject, const FString &PackageName, const FString &AssetName, const FString &SubPathString=FString())
 
static bool UE_API CanProceedWithFactoryNode (UInterchangeFactoryBaseNode &FactoryNode, UObject *ReimportObject, UObject *ObjectToReimport, const FString &PackageName, const FString &AssetName, const FString &SubPathString=FString())
 
static UE_API UObjectAsyncFindObject (UInterchangeFactoryBaseNode *FactoryNode, const UClass *FactoryClass, UObject *Parent, const FString &AssetName)
 

Detailed Description

All the code we cannot put in the base factory class because of dependencies (like Engine dep) Will be available here.

Member Function Documentation

◆ ApplyReimportStrategyToAsset()

void UE::Interchange::FFactoryCommon::ApplyReimportStrategyToAsset ( UObject Asset,
const UInterchangeFactoryBaseNode PreviousAssetNode,
const UInterchangeFactoryBaseNode CurrentAssetNode,
UInterchangeFactoryBaseNode PipelineAssetNode 
)
static

Apply the current strategy to the PipelineAssetNode

◆ AsyncFindObject()

UObject * UE::Interchange::FFactoryCommon::AsyncFindObject ( UInterchangeFactoryBaseNode FactoryNode,
const UClass FactoryClass,
UObject Parent,
const FString &  AssetName 
)
static

Factory helper use to find the object we have create in the game thread when we do the async part of the factory import.

◆ CanProceedWithFactoryNode()

bool UE::Interchange::FFactoryCommon::CanProceedWithFactoryNode ( UInterchangeFactoryBaseNode FactoryNode,
UObject ReimportObject,
UObject ObjectToReimport,
const FString &  PackageName,
const FString &  AssetName,
const FString &  SubPathString = FString() 
)
static

Evaluates whether or not a factory should be called on a factory node in a given reimport context.

Parameters
FactoryNodeFactory node to evaluate
ReimportObjectObject a reimport has been initialized from
ObjectToReimportActual object to reimport
PackageNamePackage path of the object associated with the factory node to reimport
AssetNameAsset name of the object associated with the factory node to reimport
SubPathStringOptional subobject name Returns:
  • true if it is an import. ReimportObject is null.
    • true if, based on its path, object associated with the factory node was not part of the previous import.
  • true if factory node was part of the previous import and ObjectToReimport is null but FactoryNode has been flagged as required for the reimport
  • true ObjectToReimport is not null
  • false otherwise
Note
The path of the missing associated object will be set on the factory node if ObjectToReimport is null

◆ GetFactoryNode()

const UInterchangeFactoryBaseNode * UE::Interchange::FFactoryCommon::GetFactoryNode ( UObject ReimportObject,
const FString &  PackageName,
const FString &  AssetName,
const FString &  SubPathString = FString() 
)
static

If the ReimportObject is a UInterchangeSceneImportAsset, returns the factory node associated with the asset which path is //PackageName.AssetName[:SubPathString]. Returns nullptr otherwise.

Parameters
ReimportObjectObject that a reimport has been initialized from
PackageNamePackage path of the actual object to reimport
AssetNameAsset name of the actual object to reimport
SubPathStringOptional subobject name

◆ GetObjectToReimport()

UObject * UE::Interchange::FFactoryCommon::GetObjectToReimport ( UInterchangeFactoryBase Factory,
UObject ReimportObject,
const UInterchangeFactoryBaseNode FactoryNode,
const FString &  PackageName,
const FString &  AssetName,
const FString &  SubPathString = FString() 
)
static

If the ReimportObject is a UInterchangeSceneImportAsset, returns the UObject which asset path is //PackageName.AssetName[:SubPathString]. Returns ReimportObject otherwise.

Parameters
ReimportObjectObject that a reimport has been initialized from
FactoryNodeFactory node being reimported
PackageNamePackage path of the actual object to reimport
AssetNameAsset name of the actual object to reimport
SubPathStringOptional subobject name

◆ UpdateImportAssetData() [1/2]

UAssetImportData * UE::Interchange::FFactoryCommon::UpdateImportAssetData ( FUpdateImportAssetDataParameters Parameters)
static

Update the AssetImportData source file of the specified asset in the parameters. Also update the node container and the node unique id. If the AssetImportData is null it will create one. If the AssetImportData is not an UInterchangeAssetImportData it will create a new one.

Returns
The source data that should be stored on the asset or nullptr if a parameter is invalid

◆ UpdateImportAssetData() [2/2]

UAssetImportData * UE::Interchange::FFactoryCommon::UpdateImportAssetData ( FUpdateImportAssetDataParameters Parameters,
TFunctionRef< void(UInterchangeAssetImportData *)>  CustomFileSourceUpdate 
)
static

Update the AssetImportData of the specified asset in the parameters. Also update the node container and the node unique id. If the AssetImportData is null it will create one. If the AssetImportData is not an UInterchangeAssetImportData it will create a new one. The file source update is done by calling the function parameter CustomFileSourceUpdate, so its the client responsability to properly update the file source.

Returns
The source data that should be stored on the asset or nullptr if a parameter is invalid

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