Hey , I was building a plugin that exposes steam workshop. I took your functions as example.
Everything was working fine, until now where I try to use them in production.
Especially: “GetWorkshopItemDetails” node. I tried creating a widget from the returned data -> Crash. The callback is not executed on the GameThread but on the OnlineThread.
Searched the thread, but seems I’m the only one encountering this.
[SPOILER]
LoginId:a1bd03cf4ad44b64d458229ebda7d312
EpicAccountId:804e90335e61485e8dbf0a2aaa62ada6
Assertion failed: IsInGameThread() || HasAnyFlags(RF_ClassDefaultObject|RF_ArchetypeObject) || IsPostLoadThreadSafe() || IsA(UClass::StaticClass()) [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp] [Line: 964]
UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:419]
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:967]
UE4Editor_CoreUObject!StaticDuplicateObjectEx() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2107]
UE4Editor_UMG!UUserWidget::DuplicateAndInitializeFromWidgetTree() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:412]
UE4Editor_UMG!UWidgetBlueprintGeneratedClass::InitializeWidgetStatic() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\widgetblueprintgeneratedclass.cpp:162]
UE4Editor_UMG!UUserWidget::Initialize() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:343]
UE4Editor_UMG!UUserWidget::CreateWidgetOfClass() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:1931]
UE4Editor_UMG!CreateWidget<UUserWidget>() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\public\blueprint\userwidget.h:1149]
UE4Editor_UMG!UWidgetBlueprintLibrary::Create() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\widgetblueprintlibrary.cpp:53]
UE4Editor_UMG!UWidgetBlueprintLibrary::execCreate() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\public\blueprint\widgetblueprintlibrary.h:28]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4551]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:763]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2198]
UE4Editor_CoreUObject!UObject::execLetObj() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2020]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:887]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:887]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4551]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1345]
UE4Editor_AdvancedSteamSessions!TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>() [c:\program files\epic games\ue_4.19\engine\source\runtime\core\public\uobject\scriptdelegates.h:465]
UE4Editor_AdvancedSteamSessions!FBlueprintWorkshopDetailsDelegate_DelegateWrapper() [c:\users\vr3\documents\guenni\perfwork\gpaintproject419 hepaintproject\plugins\advancedsessions\advancedsteamsessions\source\advancedsteamsessions\classes\steamwsrequestugcdetailscallbackproxy.h:48]
UE4Editor_AdvancedSteamSessions!USteamWSRequestUGCDetailsCallbackProxy::OnUGCRequestUGCDetails() [c:\users\vr3\documents\guenni\perfwork\gpaintproject419 hepaintproject\plugins\advancedsessions\advancedsteamsessions\source\advancedsteamsessions\private\steamwsrequestugcdetailscallbackproxy.cpp:63]
steam_api64
steam_api64
steam_api64
steam_api64
steam_api64
UE4Editor_OnlineSubsystemSteam!FOnlineAsyncTaskManagerSteam::OnlineTick() [d:\build\++ue4+release-4.19+compile\sync\engine\plugins\online\onlinesubsystemsteam\source\private\onlineasynctaskmanagersteam.cpp:26]
UE4Editor_OnlineSubsystem!FOnlineAsyncTaskManager::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\plugins\online\onlinesubsystem\source\private\onlineasynctaskmanager.cpp:242]
UE4Editor_OnlineSubsystem!FOnlineAsyncTaskManager::Run() [d:\build\++ue4+release-4.19+compile\sync\engine\plugins\online\onlinesubsystem\source\private\onlineasynctaskmanager.cpp:67]
UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]
[/SPOILER]