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 ?
-
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. -
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.
-
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