If a project from UE 4.27 or earlier has a blueprint with a reroute node dangling (no outgoing connection) from a Custom Event Node's delegate pin (red), this blueprint will crash when loaded in UE 5.0 and up, due to failing assertion:
Assertion failed: OutputPin->LinkedTo.Num() > 0 [File:D:\build\++UE5\Sync\Engine\Source\Editor\KismetCompiler\Private\KismetCompiler.cpp] [Line: 326]
Callstack from UE 5.3
> [Inline Frame] UnrealEditor-KismetCompiler.dll!Cast(UEdGraphNode *) Line 87 C++
UnrealEditor-KismetCompiler.dll!UE::KismetCompiler::Private::GetLinkedDelegateSignature(UK2Node * NodeWithDelegate) Line 321 C++
UnrealEditor-KismetCompiler.dll!UE::KismetCompiler::Private::MatchNodesToDelegateSignatures(UBlueprint * BP) Line 424 C++
UnrealEditor-Kismet.dll!FBlueprintCompilationManagerImpl::FlushCompilationQueueImpl(bool bSuppressBroadcastCompiled, TArray<UBlueprint *,TSizedDefaultAllocator<32>> * BlueprintsCompiled, TArray<UBlueprint *,TSizedDefaultAllocator<32>> * BlueprintsCompiledOrSkeletonCompiled, FUObjectSerializeContext * InLoadContext) Line 939 C++
UnrealEditor-Kismet.dll!FBlueprintCompilationManager::FlushCompilationQueue(FUObjectSerializeContext * InLoadContext) Line 3472 C++
UnrealEditor-CoreUObject.dll!FScopedClassDependencyGather::~FScopedClassDependencyGather() Line 486 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::CreateExport(int Index) Line 5347 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::CreateExportAndPreload(int ExportIndex, bool bForcePreload) Line 3881 C++
UnrealEditor-CoreUObject.dll!FLinkerLoad::LoadAllObjects(bool bForcePreload) Line 4059 C++
UnrealEditor-CoreUObject.dll!LoadPackageInternal(UPackage * InOuter, const FPackagePath & PackagePath, unsigned int LoadFlags, FLinkerLoad * ImportLinker, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext, const FPackagePath * DiffPackagePath) Line 1833 C++
UnrealEditor-CoreUObject.dll!LoadPackage(UPackage * InOuter, const FPackagePath & PackagePath, unsigned int LoadFlags, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext, const FPackagePath * DiffPackagePath) Line 2014 C++
UnrealEditor-CoreUObject.dll!LoadPackage(UPackage * InOuter, const wchar_t * InLongPackageNameOrFilename, unsigned int LoadFlags, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext) Line 1987 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!FAssetData::FastGetAsset(bool bLoad, TSet<FName,DefaultKeyFuncs<FName,0>,FDefaultSetAllocator> LoadTags) Line 516 C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!FAssetData::GetAsset(TSet<FName,DefaultKeyFuncs<FName,0>,FDefaultSetAllocator>) Line 549 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditOrPreviewAssetFileItems(TArrayView<TSharedRef<FContentBrowserAssetFileItemDataPayload const ,1> const ,int> InAssetPayloads, EAssetTypeActivationMethod::Type ActivationMethod, const EAssetTypeActivationOpenedMethod OpenedMethod) Line 361 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditOrPreviewItems(IAssetTools * InAssetTools, const UContentBrowserDataSource * InOwnerDataSource, TArrayView<FContentBrowserItemData const ,int> InItems, EAssetTypeActivationMethod::Type ActivationMethod, EAssetTypeActivationOpenedMethod OpenedMethod) Line 417 C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditItems(IAssetTools *) Line 424 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!UContentBrowserAssetDataSource::BulkEditItems(TArrayView<FContentBrowserItemData const ,int> InItems) Line 2200 C++
UnrealEditor-ContentBrowser.dll!SContentBrowser::OnItemsActivated(TArrayView<FContentBrowserItem const ,int> ActivatedItems, EAssetTypeActivationMethod::Type ActivationMethod) Line 3141 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!Invoke(void(SContentBrowser::*)(TArrayView<FContentBrowserItem const ,int>, EAssetTypeActivationMethod::Type)) Line 66 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(SContentBrowser::*)(TArrayView<FContentBrowserItem const ,int>, EAssetTypeActivationMethod::Type) &) Line 311 C++
UnrealEditor-ContentBrowser.dll!TBaseSPMethodDelegateInstance<0,SContentBrowser,1,void __cdecl(TArrayView<FContentBrowserItem const ,int>,enum EAssetTypeActivationMethod::Type),FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int> <Params_0>, EAssetTypeActivationMethod::Type <Params_1>) Line 281 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!TDelegate<void __cdecl(TArrayView<FContentBrowserItem const ,int>,enum EAssetTypeActivationMethod::Type),FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int>) Line 549 C++
UnrealEditor-ContentBrowser.dll!SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,1> AssetItem) Line 4081 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!Invoke(void(SAssetView::*)(TSharedPtr<FAssetViewItem,1>)) Line 66 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(SAssetView::*)(TSharedPtr<FAssetViewItem,1>) &) Line 311 C++
UnrealEditor-ContentBrowser.dll!TBaseSPMethodDelegateInstance<0,SAssetView,1,void __cdecl(TSharedPtr<FAssetViewItem,1>),FDefaultDelegateUserPolicy>::ExecuteIfSafe(TSharedPtr<FAssetViewItem,1> <Params_0>) Line 298 C++
UnrealEditor-ContentBrowser.dll!TDelegate<void __cdecl(TSharedPtr<FAssetViewItem,1>),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>(TSharedPtr<FAssetViewItem,1> <Params_0>) Line 570 C++
UnrealEditor-ContentBrowser.dll!SListView<TSharedPtr<FAssetViewItem,1>>::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,1> TheItem) Line 1122 C++
UnrealEditor-ContentBrowser.dll!STableRow<TSharedPtr<FAssetViewItem,1>>::OnMouseButtonDoubleClick(const FGeometry & InMyGeometry, const FPointerEvent & InMouseEvent) Line 423 C++
[Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1>::operator()(const FArrangedWidget &) Line 5702 C++
UnrealEditor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,`FSlateApplication::RoutePointerDoubleClickEvent'::`2'::<lambda_1>>(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 442 C++
UnrealEditor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5700 C++
UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<FGenericWindow,1> & PlatformWindow, const FPointerEvent & InMouseEvent) Line 5685 C++
UnrealEditor-Slate.dll!FSlateApplication::OnMouseDoubleClick(const TSharedPtr<FGenericWindow,1> & PlatformWindow, const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5648 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 2235 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2738 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1099 C++
[Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 931 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 937 C++
[External Code]
[Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 119 C++
UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 148 C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5749 C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 61 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 188 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 247 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298 C++
[External Code]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-203280 in the post.
0 |
Component | UE - Gameplay - Blueprint Compiler |
---|---|
Affects Versions | 5.1, 5.2, 5.3 |
Target Fix | 5.4 |
Fix Commit | 30441292 |
---|---|
Main Commit | 30441299 |
Created | Dec 22, 2023 |
---|---|
Resolved | Dec 22, 2023 |
Updated | Jan 20, 2024 |