Navigation
API > API/Runtime > API/Runtime/InterchangeEngine
| Name | UInterchangeManager |
| Type | class |
| Header File | /Engine/Source/Runtime/Interchange/Engine/Public/InterchangeManager.h |
| Include Path | #include "InterchangeManager.h" |
Syntax
UCLASS (Transient, BlueprintType, CustomConstructor, MinimalAPI)
class UInterchangeManager : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UInterchangeManager
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UInterchangeManager
(
const FObjectInitializer& ObjectInitializer |
InterchangeManager.h |
Structs
| Name | Remarks |
|---|---|
| FQueuedTaskData |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FInterchangeOnAssetPostImport | TMulticastDelegate_OneParam< void, UObject * > | Delegate type that is fired when new assets have been imported. | InterchangeManager.h |
| FInterchangeOnAssetPostReimport | TMulticastDelegate_OneParam< void, UObject * > | Delegate type that is fired when new assets have been reimported. | InterchangeManager.h |
| FInterchangeOnBatchImportComplete | TMulticastDelegate_OneParam< void, TStrongObjectPtr< UInterchangeResultsContainer > > | Delegate type that is fired when the import results in an error. | InterchangeManager.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| bIsCreatingSingleton | bool | InterchangeManager.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| OnAssetPostImport | FInterchangeOnAssetPostImport | InterchangeManager.h | ||
| OnAssetPostReimport | FInterchangeOnAssetPostReimport | InterchangeManager.h | ||
| OnBatchImportComplete | FInterchangeOnBatchImportComplete | InterchangeManager.h | ||
| OnImportFinished | FOnImportFinished | Fires when the last import process finishes. | InterchangeManager.h | |
| OnImportStarted | FOnImportStarted | Fires when the first import process starts. | InterchangeManager.h | |
| OnPreDestroyInterchangeManager | FSimpleMulticastDelegate | Called when before the application is exiting. | InterchangeManager.h | |
| OnSanitizeName | FOnSanitizeName | Fire when we need to sanitize a name, make sure your delegate code is thread safe, since it will be broadcast in any thread. | InterchangeManager.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bGCEndDelegateCancellAllTask | bool | InterchangeManager.h | ||
| bImportCanceled | bool | Indicates that the import process was canceled by the user. | InterchangeManager.h | |
| bIsActive | FThreadSafeBool | If interchange is currently importing, we have a timer to watch the cancel and we block GC. | InterchangeManager.h | |
| EditorUtilities | TStrongObjectPtr< UInterchangeEditorUtilitiesBase > | We support one editor utilities class. | InterchangeManager.h | |
| GCEndDelegate | FDelegateHandle | We want to avoid starting an import task during a GC. | InterchangeManager.h | |
| GCPreDelegate | FDelegateHandle | InterchangeManager.h | ||
| ImportAllWithSamePipelines | TMap< UClass *, TArray< UInterchangePipelineBase * > > | If the user wants to use the same import pipeline stack for all queued tasks. | InterchangeManager.h | |
| ImportTasks | TArray< TSharedPtr< UE::Interchange::FImportAsyncHelper, ESPMode::ThreadSafe > > | By using pointer, there is no issue if the array get resized. | InterchangeManager.h | |
| ImportTasksLock | FCriticalSection | Critical section to make the import tasks array thread safe | InterchangeManager.h | |
| NonParallelTranslatorLocks | TMap< UClass *, bool > | InterchangeManager.h | ||
| NonParallelTranslatorQueueTasks | TMap< UClass *, TArray< FQueuedTaskData > > | InterchangeManager.h | ||
| Notification | TSharedPtr< FAsyncTaskNotification > | InterchangeManager.h | ||
| NotificationTickHandle | FTSTicker::FDelegateHandle | InterchangeManager.h | ||
| QueuedPostImportTasks | TQueue< TSharedPtr< FInterchangePostImportTask > > | Queue all incoming tasks that are not directly import or re-import of assets. | InterchangeManager.h | |
| QueuedPostImportTasksTickerHandle | FTSTicker::FDelegateHandle | Ticker which is on only if we have some QueuedPostImportTasks. | InterchangeManager.h | |
| QueuedTasks | TQueue< FQueuedTaskData > | Queue all incoming tasks if there are more started task then we have cores. | InterchangeManager.h | |
| QueueTaskCount | int32 | InterchangeManager.h | ||
| RegisteredConverters | TMap< TObjectPtr< const UClass >, TObjectPtr< UInterchangeAssetImportDataConverterBase > > | The manager will create only one converter per type. | InterchangeManager.h | |
| RegisteredFactoryClasses | TMap< TObjectPtr< const UClass >, TObjectPtr< const UClass > > | The manager will create only one pipeline per type. | InterchangeManager.h | |
| RegisteredTranslatorsClass | TSet< TObjectPtr< const UClass > > | Caching the registered translator classes to avoid double registration. | InterchangeManager.h | |
| RegisteredWriters | TMap< TObjectPtr< const UClass >, TObjectPtr< UInterchangeWriterBase > > | The manager will create only one writer per type. | InterchangeManager.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CanReimport
(
const UObject* Object, |
Returns true if Interchange can create this type of asset and is able to translate its source files. | InterchangeManager.h |
|
bool CanTranslateSourceData
(
const UInterchangeSourceData* SourceData, |
Check whether there is a registered translator for this source data. | InterchangeManager.h |
|
bool CanTranslateSourceDataWithPayloadInterface
(
const UInterchangeSourceData* SourceData, |
Check whether there is a translator registered that can translate the source data with the specified PayloadInterface. | InterchangeManager.h | |
bool CanUseTranslator
(
UInterchangeTranslatorBase* Translator |
Check if a non-parallel translator is unlocked for using. | InterchangeManager.h | |
bool ConvertImportData
(
const UObject* SourceImportData, |
Call all the registered converter, until one can convert the source data to the destination @Param SourceImportData - The source import data options. | InterchangeManager.h | |
bool ConvertImportData
(
const UObject* SourceImportData, |
Call all the registered converter, until one can convert the source import data to UInterchangeAssetImportData @Param SourceImportData - The source import data options. | InterchangeManager.h | |
bool ConvertImportData
(
UObject* Asset, |
Call all the registered converters to see if any converter can convert the data. | InterchangeManager.h | |
TSharedRef< UE::Interchange::FImportAsyncHelper, ESPMode::ThreadSafe > CreateAsyncHelper
(
const UE::Interchange::FImportAsyncHelperData& Data, |
Return a pointer to an FImportAsyncHelper. | InterchangeManager.h | |
bool EnqueuePostImportTask
(
TSharedPtr< FInterchangePostImportTask > PostImportTask |
Queue task that are not directly a import or re-import of assets. | InterchangeManager.h | |
bool ExportAsset
(
const UObject* Asset, |
Call this to start an asset export process. | InterchangeManager.h |
|
bool ExportScene
(
const UObject* World, |
Call this to start a scene export process. | InterchangeManager.h |
|
UInterchangeAssetImportData * GetAssetImportData
(
UObject* Asset |
Returns the list of supported formats for a given translator type. | InterchangeManager.h |
|
TSharedPtr< UE::Interchange::FImportAsyncHelper, ESPMode::ThreadSafe > GetAsyncHelper
(
int32 UniqueId |
Return a pointer to an FImportAsyncHelper that is the specified UniqueId. | InterchangeManager.h | |
UInterchangeEditorUtilitiesBase * GetEditorUtilities() |
Get the editor utilities, those are use for editor operation like saving an asset. | InterchangeManager.h | |
const UClass * GetRegisteredFactoryClass
(
const UClass* ClassToMake |
Script helper to get a registered factory for a specified class. | InterchangeManager.h |
|
TArray< FString > GetSupportedAssetTypeFormats
(
const EInterchangeTranslatorAssetType ForTranslatorAssetType, |
Returns the list of formats supporting the specified translator asset type. | InterchangeManager.h |
|
TArray< FString > GetSupportedFormats
(
const EInterchangeTranslatorType ForTranslatorType |
Returns the list of supported formats for a given translator type. | InterchangeManager.h |
|
| Returns the list of supported formats for a given Object. | InterchangeManager.h |
|
|
UInterchangeTranslatorBase * GetTranslatorForSourceData
(
const UInterchangeSourceData* SourceData |
Return the first translator that can translate the source data. | InterchangeManager.h |
|
UInterchangeTranslatorBase * GetTranslatorSupportingPayloadInterfaceForSourceData
(
const UInterchangeSourceData* SourceData, |
Return the first translator that can translate the source data with the specified PayloadInterface. | InterchangeManager.h | |
bool ImportAsset
(
const FString& ContentPath, |
Call this to start a synchronous asset import process. | InterchangeManager.h |
|
bool ImportAsset
(
const FString& ContentPath, |
Call this to start a synchronous asset import process. | InterchangeManager.h | |
UE::Interchange::FAssetImportResultRef ImportAssetAsync
(
const FString& ContentPath, |
Call this to start an asynchronous asset import process. | InterchangeManager.h | |
UE::Interchange::FAssetImportResultRef ImportAssetWithResult
(
const FString& ContentPath, |
Call this to start a synchronous asset import process. | InterchangeManager.h | |
bool ImportScene
(
const FString& ContentPath, |
Call this to start a synchronous scene import process. | InterchangeManager.h |
|
TTuple< UE::Interchange::FAssetImportResultRef, UE::Interchange::FSceneImportResultRef > ImportSceneAsync
(
const FString& ContentPath, |
Call this to start a asynchronous scene import process. | InterchangeManager.h | |
bool IsInterchangeActive() |
Return true if Interchange is actively importing or exporting, or false otherwise. | InterchangeManager.h |
|
bool IsObjectBeingImported
(
UObject* Object |
Return true if the object is being imported, or false otherwise. | InterchangeManager.h |
|
bool RegisterFactory
(
const UClass* Factory |
All factories must be registered with the manager. | InterchangeManager.h | |
bool RegisterImportDataConverter
(
const UClass* Converter |
All converters must be registered with the manager. | InterchangeManager.h | |
bool RegisterTranslator
(
const UClass* TranslatorClass |
All translators must be registered with the manager. | InterchangeManager.h | |
bool RegisterWriter
(
const UClass* Writer |
All writers must be registered with the manager, @Param Writer - The UClass of the writer you want to register, | InterchangeManager.h | |
bool ReimportAsset
(
UObject* ObjectToReimport, |
Call this to start a synchronous asset re-import process. | InterchangeManager.h |
|
UE::Interchange::FAssetImportResultRef ReimportAssetAsync
(
UObject* ObjectToReimport, |
Call this to start an asynchronous asset import process. | InterchangeManager.h | |
void ReleaseAsyncHelper
(
TWeakPtr< UE::Interchange::FImportAsyncHelper, ESPMode::ThreadSafe > AsyncHelper |
Delete the specified AsyncHelper and remove it from the array that was holding it. | InterchangeManager.h | |
void SanitizeNameInline
(
FString& NameToSanitize, |
InterchangeManager.h | ||
bool ScriptedImportAssetAsync
(
const FString& ContentPath, |
Call this from blueprint or python to start an asynchronous asset import process. | InterchangeManager.h |
|
bool ScriptedImportSceneAsync
(
const FString& ContentPath, |
Call this to start a asynchronous scene import process. | InterchangeManager.h |
|
bool ScriptedReimportAssetAsync
(
UObject* ObjectToReimport, |
Call this from blueprint or python to start an asynchronous asset import process. | InterchangeManager.h |
|
void SetEditorUtilities
(
UClass* EditorUtilitiesClass |
Set the editor utilities, those are use for editor operation like saving an asset. | InterchangeManager.h | |
bool WarnIfInterchangeIsActive () |
Return false if Interchange is not actively importing or exporting. | InterchangeManager.h |
|
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 AddImportTask
(
TSharedPtr< UE::Interchange::FImportAsyncHelper, ESPMode::ThreadSafe > ImportTask |
Return the index in the ImportTasks array | InterchangeManager.h | |
void CancelAllTasks () |
This function cancels all tasks and finishes them as fast as possible. | InterchangeManager.h |
|
void FindPipelineCandidate
(
TArray< UClass* >& PipelineCandidates |
Find all pipeline candidates (C++, Blueprint, and Python). | InterchangeManager.h | |
int32 GetImportTaskCount() |
InterchangeManager.h | ||
TSharedPtr< UE::Interchange::FImportAsyncHelper, ESPMode::ThreadSafe > GetImportTaskForAsyncHelperUniqueId
(
int32 AsyncHelperUniqueId |
InterchangeManager.h | ||
TSharedPtr< UE::Interchange::FImportAsyncHelper, ESPMode::ThreadSafe > GetImportTaskForIndex
(
int32 Index |
InterchangeManager.h | ||
TTuple< UE::Interchange::FAssetImportResultRef, UE::Interchange::FSceneImportResultRef > ImportInternal
(
const FString& ContentPath, |
Called by the public Import functions. | InterchangeManager.h | |
void RemoveImportTask
(
TSharedPtr< UE::Interchange::FImportAsyncHelper, ESPMode::ThreadSafe > ImportTask |
InterchangeManager.h | ||
void RemoveImportTask
(
int32 AsyncHelperUniqueId |
InterchangeManager.h | ||
void SetActiveMode
(
bool IsActive |
If we set the mode to active, we will setup the timer and add the thread that will block the GC. | InterchangeManager.h | |
void StartQueuedTasks
(
bool bCancelAllTasks |
Start tasks until we reach the taskgraph worker number. | InterchangeManager.h | |
TOptional< FString > ValidateReimportParameter
(
UObject* ObjectToReimport, |
InterchangeManager.h | ||
void WaitUntilAllTasksDone
(
bool bCancel |
Wait synchronously until all tasks are done. | InterchangeManager.h |
|
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UInterchangeSourceData * CreateSourceData
(
const FString& InFileName |
Script helper to create a source data object that points to a file on disk. | InterchangeManager.h |
|
static UInterchangeManager & GetInterchangeManager() |
Return the Interchange Manager singleton. | InterchangeManager.h | |
static UInterchangeManager * GetInterchangeManagerScripted () |
Return the pointer to the Interchange Manager singleton. | InterchangeManager.h |
|
static TOptional< bool > GetReplaceExistingAlldialogAnswer() |
Gets the bReplaceExistingAllDialogAnswer. | InterchangeManager.h | |
static bool IsAttended() |
Return true if Interchange can show UI. | InterchangeManager.h | |
static bool IsImporting() |
Checks if there are any imports in progress. | InterchangeManager.h | |
static bool IsInterchangeImportEnabled() |
Return the CVar that enables or disables Interchange. | InterchangeManager.h | |
static void ResetReplaceExistingAlldialogAnswerSet() |
Checks if the bReplaceExistingAllDialogAnswer. | InterchangeManager.h | |
static void SetInterchangeImportEnabled
(
bool bEnabled |
Set the CVar that enables or disables Interchange. | InterchangeManager.h | |
static void SetReplaceExistingAlldialogAnswer
(
bool bReplaceExistingAllDialogAnswer |
Sets the bReplaceExistingAllDialogAnswer which is responsible for: if the Import process will override or not all existing assets this Import stack tries to override. | InterchangeManager.h |