What is the recommended approach for importing inter-dependent assets? (when extending the Interchange Framework)

Hi there,

This is an explorative question that blocks the planning stage of a current project.

I have a bespoke file format that I would like to import into the editor.

I will extend The Interchange Framework to do this.

The file format needs to create two assets: An Actor Blueprint, and a Geometry Collection - The latter of which must be configured using the final form of the first.

This picture

[Image Removed](from https://www.youtube.com/watch?v=M3FcAXyTapE)

Would suggest that the way to do this is as follows:

  1. Assuming our file uses the .abba extension…
  2. Have a UInterchangeAbbaTranslator create a UInterchangeActorBlueprintNode and a UInterchangeGeometryCollectionNode
  3. Have a UInterchangeAbbaPipeline create a UInterchangeActorBlueprintFactoryNode and a UInterchangeGeometryCollectionFactoryNode
  4. Have a UInterchangeActorBlueprintFactory create a BP_AbbaActorBlueprint
  5. Have a UInterchangeGeometryCollectionFactory create a GC_AbbaActorGeometryCollection and a DF_AbbaActorDataFlow
  6. Have the UInterchangeAbbaPipeline, during the PostImport stage, configure the GC_AbbaActorGeometryCollection (by virtue of the DF_AbbaActorDataFlow) using the BP_AbbaActorBlueprint

Is this how the Interchange Framework dev team would approach this, or is there a better way I’m not seeing?

Cheers,

Josh.

Hi Joshua,

This is exactly it with the addition of the step where you set the dependency between the UInterchangeActorBlueprintFactoryNodeand the UInterchangeGeometryCollectionFactoryNode.

If I understood you correctly, it should be like this:

UInterchangeGeometryCollectionFactoryNode->AddFactoryDependencyUid(UInterchangeActorBlueprintFactoryNode->GetUniqueID())Since the GeometryCollection needs the Blueprint to exist in order to be finalized. The call above guarantees that.

Thanks for using Interchange.

Regards,

Jean-Luc

Hi Josh,

You are welcome.

Regards,

Jean-Luc

Heya Jean-Luc,

Thank you so much for getting back to me!

Brilliant - Thank you for the confirmation, and for the extra guidance of the factory dependency!

This gives me enough to get started on what I want to do!

Cheers,

Josh.