I am experiencing a bug in two of my projects that involve Datasmith Runtime. So I have a list of datasmith files with their corresponding UDSMeshes on my disk. I populate the UI with the datasmith file name and I can load the said DS file by clicking on the UI.
So the problem is when I try to load it the very first time I open the project (after 12hrs or so), it won’t load. The runtime translation thread is stuck in its FTranslationThread::Run() function infinitely. Unless I stop & start playing again. Next time it loads fine.
I know it sounds weird but it actually happens every day. For loading, I am using the ADatasmithRuntimeActor::LoadFile function and passing in the path to the ds file. I have had been struggling with this for quite some time so any help will be greatly appreciated.
I have also the exact same problem except I am using Blueprint functions to import Datasmith Runtime.
I thought the infinite loop will only happened on the first load on Unreal Editor but even with my build the same thing happen but it’s more random.
I might have found a workaround for this. You might wanna Copy the DatasmithRuntime plugin folder from “…\Engine\Plugins\Experimental\Enterprise..”
to your project’s folder like ProjectName\Plugins\DatasmithRuntime. Now you can make modifications in the plugin’s source.
Remember these modifications have to be in the plugin source that you copied to your project.
In the DatasmithRuntime.cpp file : there’s a bool FTranslationJob::Execute() function.
You can remove the first “if” check and use this instead: