[Feature Request] Interchange direct Import to DynamicMesh at runtime

Hi, Yes, I did find a solution:

I Just recompiled the complete Unreal Engine (5.2) with this little change:

in Line 3334 in the constructor of the static mesh in C:\UE\UnrealEngine\Engine\Source\Runtime\Engine\Private\StaticMesh.cpp I added this line:


bAllowCPUAccess = true;

And it is working (not direct, but i can import from the static Mesh that was created by interchange to dynamic mesh )
Extra Info Fastbuild:
I also tried with bDoFastBuild = true; AND false. In both cases it is working, what surprised me somehow. Does someone know what Dofastbuild is exactly ?

  1. This is a quite dirty solution so far, since every static mesh will have CPU Access Data,
    costing resources. So we should make it smarter.

  2. A Script Node with a Singleton Boolean that can be switched on and off, would do the trick. Every time a static mesh is constructed, it could check the Value of this Bool Variable.

  3. The Interchange Manager is already a singleton object so I added:

InterchangeManager.h line 279:
USTRUCT(BlueprintType)
struct INTERCHANGEENGINE_API FImportAssetParameters

InterchangeManager.h line 295:
	// Define a Bool that the static Mesh constructor checks on creating a new static mesh 
	// The constructor than sets its own bool accordingly
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interchange|ImportAsset")
	bool bKeepCPUData = false;

but had some troubles with including interchangemanager.h in staticmesh.cpp (Now, I know it better, you have to rebuild the solution file every time you add a new include. )

I hope this change would make it in the Unreal Engine, so that the recompilation is no longer necessary to use this feature.

I hope it Helps :+1:

2 Likes