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

#include <InterchangeTaskImportObject.h>

+ Inheritance diagram for UE::Interchange::FTaskImportObjectFinalize_GameThread:

Public Member Functions

 FTaskImportObjectFinalize_GameThread (const FString &InPackageBasePath, const int32 InSourceIndex, TWeakPtr< FImportAsyncHelper, ESPMode::ThreadSafe > InAsyncHelper, UInterchangeFactoryBaseNode *InFactoryNode)
 
virtual EInterchangeTaskThread GetTaskThread () const override
 
virtual void Execute () override
 
- Public Member Functions inherited from UE::Interchange::FInterchangeTaskBase
 FInterchangeTaskBase ()
 
virtual ~FInterchangeTaskBase ()
 
uint64 GetTaskId () const
 
const TArray< uint64 > & GetPrerequisiteTasks () const
 
EInterchangeTaskStatus GetTaskStatus () const
 
INTERCHANGECORE_API void Wait () const
 

Additional Inherited Members

- Protected Member Functions inherited from UE::Interchange::FInterchangeTaskBase
INTERCHANGECORE_API bool SetTaskStatus (EInterchangeTaskStatus NewTaskStatus)
 
INTERCHANGECORE_API void SetPrerequisites (const TArray< uint64 > &InPrerequisiteTasks)
 

Detailed Description

This task create UPackage and UObject, Cook::PackageTracker::NotifyUObjectCreated is not thread safe, so we need to create the packages on the main thread

Constructor & Destructor Documentation

◆ FTaskImportObjectFinalize_GameThread()

UE::Interchange::FTaskImportObjectFinalize_GameThread::FTaskImportObjectFinalize_GameThread ( const FString &  InPackageBasePath,
const int32  InSourceIndex,
TWeakPtr< FImportAsyncHelper, ESPMode::ThreadSafe InAsyncHelper,
UInterchangeFactoryBaseNode InFactoryNode 
)
inline

Member Function Documentation

◆ Execute()

void UE::Interchange::FTaskImportObjectFinalize_GameThread::Execute ( )
overridevirtual

This function must return the task id to fill the promise of the execution.

If the caller want to re-enqueue the task and not run the subsequent tasks after this function, It must set the task status to Waiting and the task will be re-execute later on another tick. This is the best way to implement a async wait.

Implements UE::Interchange::FInterchangeTaskBase.

◆ GetTaskThread()

virtual EInterchangeTaskThread UE::Interchange::FTaskImportObjectFinalize_GameThread::GetTaskThread ( ) const
inlineoverridevirtual

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