Navigation
API > API/Runtime > API/Runtime/InterchangeCore
Pipeline implementation:
ExecutePipeline - Create the factory nodes from the translated nodes. This is where the logic is execute to create the unreal asset via the factory node. Called after the translation
ExecutePostFactoryPipeline - Called after the factory has create the unreal asset with the associate factory node, but before calling PostEditChange.
ExecutePostImportPipeline - Called after the asset PostEditChange is done. If the asset use the async build framework, the asset build should be completed.
ExecutePostBroadcastPipeline - Called after the asset was registered to the registry manager and all broadcast calls have been done.
| Name | UInterchangePipelineBase |
| Type | class |
| Header File | /Engine/Source/Runtime/Interchange/Core/Public/InterchangePipelineBase.h |
| Include Path | #include "InterchangePipelineBase.h" |
Syntax
UCLASS (BlueprintType, Blueprintable, EditInlineNew, Abstract, MinimalAPI)
class UInterchangePipelineBase : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UInterchangePipelineBase
Derived Classes
UInterchangePipelineBase derived class hierarchy
- UDatasmithTexturePipeline
- UInterchangeCardsPipeline
- UInterchangeDatasmithPipeline
- UInterchangeEditorPipelineBase
- UInterchangeGenericAnimationPipeline
- UInterchangeGenericAssetsPipeline
- UInterchangeGenericAudioPipeline
- UInterchangeGenericCommonMeshesProperties
- UInterchangeGenericCommonSkeletalMeshesAndAnimationsProperties
- UInterchangeGenericGroomPipeline
- UInterchangeGenericLevelPipeline
- UInterchangeGenericMaterialPipeline
- UInterchangeGenericMeshPipeline
- UInterchangeGenericTexturePipeline
- UInterchangeGLTFPipeline
- UInterchangeGraphInspectorPipeline
- UInterchangeMaterialXPipeline
- UInterchangePythonPipelineBase
- UInterchangeSparseVolumeTexturePipeline
- UInterchangeUsdPipeline
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ContentImportPath | FString | The content path where asset should be created. | InterchangePipelineBase.h | |
| DestinationName | FString | The Unreal import system has an option to force a name if we import only one main asset (one texture, one mesh or one animation). | InterchangePipelineBase.h | |
| OriginalPipelinePath | FSoftObjectPath | Path of the pipeline object used to create an instance of the pipeline. | InterchangePipelineBase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddMessage
(
UInterchangeResult* Item |
InterchangePipelineBase.h | ||
T * AddMessage () |
This function is used to add the given message object directly into the results for this operation. | InterchangePipelineBase.h | |
virtual void AdjustSettingsForContext
(
const FInterchangePipelineContextParams& ContextParams |
This function is called before we show the pipeline dialog. | InterchangePipelineBase.h | |
virtual void AdjustSettingsFromCache() |
InterchangePipelineBase.h | ||
bool CanEditPropertiesStates() |
InterchangePipelineBase.h | ||
virtual bool CanExecuteOnAnyThread
(
EInterchangePipelineTask PipelineTask |
This function tells the Interchange manager if this pipeline can be executed in async mode. | InterchangePipelineBase.h | |
bool DoesPropertyStatesExist
(
const FName PropertyPath |
Return true if the property has valid states, or false if no states were set for the property. | InterchangePipelineBase.h |
|
virtual void FilterPropertiesFromTranslatedData
(
UInterchangeBaseNodeContainer* InBaseNodeContainer |
Filter the pipeline properties from the translated data. | InterchangePipelineBase.h | |
FInterchangePipelinePropertyStates & FindOrAddPropertyStates
(
const FName PropertyPath |
Return a mutable property states reference. Add the property states if it doesn't exist. | InterchangePipelineBase.h |
|
virtual TArray< FInterchangeConflictInfo > GetConflictInfos
(
UObject* ReimportObject, |
Return all conflict the pipeline find in the translated data. | InterchangePipelineBase.h | |
UInterchangePipelineBase * GetMostPipelineOuter() |
InterchangePipelineBase.h | ||
FInterchangePipelinePropertyStates * GetMutablePropertyStates
(
const FName PropertyPath |
Return a mutable property states pointer. Return nullptr if the property does not exist. | InterchangePipelineBase.h | |
virtual bool GetPropertyPossibleValues
(
const FName PropertyPath, |
FName or FString properties can have a dynamic set of possible values. | InterchangePipelineBase.h | |
const FInterchangePipelinePropertyStates * GetPropertyStates
(
const FName PropertyPath |
Return a const property states pointer. Return nullptr if the property does not exist. | InterchangePipelineBase.h | |
| Fill the list of all asset this pipeline can create | InterchangePipelineBase.h |
|
|
bool IsFromReimportOrOverride() |
Return true if the pipeline was created for a re-import or an override pipelines stack | InterchangePipelineBase.h | |
virtual bool IsPropertyChangeNeedRefresh
(
const FPropertyChangedEvent& PropertyChangedEvent |
The import dialog will call this function when the user changes a specific property. | InterchangePipelineBase.h | |
bool IsReimportContext() |
InterchangePipelineBase.h |
|
|
virtual bool IsScripted () |
A non-scripted class should return false here. | InterchangePipelineBase.h | |
virtual bool IsSettingsAreValid
(
TOptional< FText >& OutInvalidReason |
This function should return true if all the pipeline settings are in a valid state to start the import. | InterchangePipelineBase.h | |
bool IsShowEssentials() |
InterchangePipelineBase.h | ||
bool IsStandAlonePipeline () |
Return true if the pipeline is not a sub-pipeline. | InterchangePipelineBase.h | |
void LoadSettings
(
const FName PipelineStackName, |
InterchangePipelineBase.h | ||
virtual void PreDialogCleanup
(
const FName PipelineStackName |
This function is called before showing the import dialog. It is not called when doing a reimport. | InterchangePipelineBase.h | |
void SaveSettings
(
const FName PipelineStackName |
InterchangePipelineBase.h | ||
bool ScriptedCanExecuteOnAnyThread
(
EInterchangePipelineTask PipelineTask |
InterchangePipelineBase.h | ||
void ScriptedExecuteExportPipeline
(
UInterchangeBaseNodeContainer* BaseNodeContainer |
Non-virtual helper that allows Blueprint to implement an event-based function. | InterchangePipelineBase.h |
|
void ScriptedExecuteExportPipeline_Implementation
(
UInterchangeBaseNodeContainer* BaseNodeContainer |
The default implementation, which is called if the Blueprint does not have any implementation, calls the virtual ExecuteExportPipeline(). | InterchangePipelineBase.h | |
void ScriptedExecutePipeline
(
UInterchangeBaseNodeContainer* BaseNodeContainer, |
ScriptedExecutePipeline, is call after the translation and before we parse the graph to call the factory. | InterchangePipelineBase.h |
|
void ScriptedExecutePipeline_Implementation
(
UInterchangeBaseNodeContainer* BaseNodeContainer, |
The default implementation, which is called if the Blueprint does not have any implementation, calls the virtual ExecutePipeline(). | InterchangePipelineBase.h | |
void ScriptedExecutePostBroadcastPipeline
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
ScriptedExecutePostBroadcastPipeline is called after an asset is completely imported and the broadcast have been called. | InterchangePipelineBase.h |
|
void ScriptedExecutePostBroadcastPipeline_Implementation
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
The default implementation, which is called if the Blueprint does not have any implementation, calls the virtual ExecutePostBroadcastPipeline(). | InterchangePipelineBase.h | |
void ScriptedExecutePostFactoryPipeline
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
ScriptedExecutePostFactoryPipeline is called after the factory creates an Unreal asset, but before it calls PostEditChange. | InterchangePipelineBase.h |
|
void ScriptedExecutePostFactoryPipeline_Implementation
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
The default implementation, which is called if the Blueprint does not have any implementation, calls the virtual ExecutePostFactoryPipeline(). | InterchangePipelineBase.h | |
void ScriptedExecutePostImportPipeline
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
InterchangePipelineBase.h |
|
|
void ScriptedExecutePostImportPipeline_Implementation
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
The default implementation, which is called if the Blueprint does not have any implementation, calls the virtual ExecutePostImportPipeline(). | InterchangePipelineBase.h | |
| This function is call when we want to list pipeline in the import dialog. | InterchangePipelineBase.h |
|
|
FString ScriptedGetPipelineDisplayName_Implementation() |
The default implementation (call if the blueprint do not have any implementation) will call the virtual ExecutePipeline | InterchangePipelineBase.h | |
void ScriptedSetReimportSourceIndex
(
UClass* ReimportObjectClass, |
Non-virtual helper that allows Blueprint to implement an event-based function. | InterchangePipelineBase.h |
|
void ScriptedSetReimportSourceIndex_Implementation
(
UClass* ReimportObjectClass, |
The default implementation, which is called if the Blueprint does not have any implementation, calls the virtual SetReimportContentFromSourceIndex(). | InterchangePipelineBase.h | |
void SetFromReimportOrOverride
(
bool bInFromReimportOrOverride |
Set to true if this pipeline is from a re-import or an override pipelines stack | InterchangePipelineBase.h | |
void SetResultsContainer
(
UInterchangeResultsContainer* InResults |
InterchangePipelineBase.h | ||
void SetShowEssentialsMode
(
bool bShowEssentialsModeValue |
InterchangePipelineBase.h | ||
virtual void ShowConflictDialog
(
const FGuid& ConflictUniqueId |
InterchangePipelineBase.h | ||
virtual bool SupportReimport () |
End UObject overrides If this returns true, this pipeline will be saved in the asset import data. | InterchangePipelineBase.h |
|
void TransferAdjustSettings
(
const UInterchangePipelineBase* SourcePipeline |
Transfer the source pipeline adjust settings to this pipeline. | InterchangePipelineBase.h | |
void UpdateWeakObjectPtrs () |
Update/reset the TWeakObjectPtrs to point to their original TObjectPtr. | InterchangePipelineBase.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostDuplicate
(
bool bDuplicateForPIE |
Begin UObject overrides | InterchangePipelineBase.h | |
virtual void Serialize
(
FArchive& Ar |
InterchangePipelineBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ExecuteExportPipeline
(
UInterchangeBaseNodeContainer* BaseNodeContainer |
This function can modify the BaseNodeContainer to create a pipeline that will set/validate the graph nodes hierarchy and options. | InterchangePipelineBase.h | |
virtual void ExecutePipeline
(
UInterchangeBaseNodeContainer* BaseNodeContainer, |
InterchangePipelineBase.h | ||
virtual void ExecutePostBroadcastPipeline
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
This function is called after the Unreal asset is completely imported. | InterchangePipelineBase.h | |
virtual void ExecutePostFactoryPipeline
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
This function is called after the factory creates an asset, but before PostEditChange is called. | InterchangePipelineBase.h | |
virtual void ExecutePostImportPipeline
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
This function is called after the Unreal asset is completely imported and PostEditChange was called. | InterchangePipelineBase.h | |
virtual FString GetPipelineDisplayName() |
InterchangePipelineBase.h | ||
void LoadSettingsInternal
(
const FName PipelineStackName, |
InterchangePipelineBase.h | ||
| InterchangePipelineBase.h | |||
virtual void SetReimportSourceIndex
(
UClass* ReimportObjectClass, |
InterchangePipelineBase.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FString GetDefaultConfigFileName() |
InterchangePipelineBase.h | ||
static FName GetPropertiesStatesPropertyName() |
Return the property name of the properties states map. | InterchangePipelineBase.h | |
static FName GetResultsPropertyName() |
InterchangePipelineBase.h | ||
static void HidePropertiesOfCategory
(
UInterchangePipelineBase* OuterMostPipeline, |
InterchangePipelineBase.h | ||
static void HidePropertiesOfSubCategory
(
UInterchangePipelineBase* OuterMostPipeline, |
InterchangePipelineBase.h | ||
static void HideProperty
(
UInterchangePipelineBase* OuterMostPipeline, |
InterchangePipelineBase.h | ||
static void InternalToggleVisibilityPropertiesOfMetaDataValue
(
UInterchangePipelineBase* OuterMostPipeline, |
InterchangePipelineBase.h |