While using a create widget node from a delegate bound to an event, the game will give an error with a thread crashing. This only seems to crash when I use create widget. Print string and setting variables won’t crash. I have a work around by setting the message string to a variable and then having an event tic check and create the widget. Don’t know if this is a bug or I am just doing this wrong. Either way, I like to know why.
Crash Report:
Assertion failed: IsInGameThread() || HasAnyFlags(RF_ClassDefaultObject|RF_ArchetypeObject) || IsPostLoadThreadSafe() || IsA(UClass::StaticClass()) [File:D:\Build\++UE4+Release-4.18+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp] [Line: 958]
UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:414]
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:961]
UE4Editor_CoreUObject!StaticDuplicateObjectEx() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2093]
UE4Editor_UMG!UUserWidget::DuplicateAndInitializeFromWidgetTree() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:403]
UE4Editor_UMG!UWidgetBlueprintGeneratedClass::InitializeWidgetStatic() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\umg\private\widgetblueprintgeneratedclass.cpp:162]
UE4Editor_UMG!UUserWidget::Initialize() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:341]
UE4Editor_UMG!UUserWidget::CreateWidgetOfClass() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:1891]
UE4Editor_UMG!CreateWidget<UUserWidget>() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\umg\public\blueprint\userwidget.h:1110]
UE4Editor_UMG!UWidgetBlueprintLibrary::Create() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\umg\private\widgetblueprintlibrary.cpp:48]
UE4Editor_UMG!UWidgetBlueprintLibrary::execCreate() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\umg\public\blueprint\widgetblueprintlibrary.h:28]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4542]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:732]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2167]
UE4Editor_CoreUObject!UObject::execLetObj() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1989]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:954]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:856]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:954]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4542]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1314]
UE4Editor_Moonlight_p2p_501!TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>() [e:\program_files\epicgames\ue_4.18\engine\source\runtime\core\public\uobject\scriptdelegates.h:465]
UE4Editor_Moonlight_p2p_501!UNetworkP2P::ReceiverUDP() [c:\users\home\documents\unreal projects\moonlight_p2p\source\moonlight_p2p\networkp2p.cpp:112]
UE4Editor_Moonlight_p2p_501!TBaseUObjectMethodDelegateInstance<0,UNetworkP2P,void __cdecl(TSharedPtr<FArrayReader,1> const & __ptr64,FIPv4Endpoint const & __ptr64)>::ExecuteIfSafe() [e:\program_files\epicgames\ue_4.18\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:858]
UE4Editor_Moonlight_p2p_501!FUdpSocketReceiver::Run() [e:\program_files\epicgames\ue_4.18\engine\source\runtime\networking\public\common\udpsocketreceiver.h:120]
UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]