Struct Failure: Broken Project

Panterath
Sun, 23 Oct 2022 19:03:01 +0000
Community & Industry Discussion

I’m at a loss here. I have been trying to figure out how to fix this error since Labor Day weekend and I have no idea how to move forward. I am at a point where I might just have to start over.

A little background: This UE4.25 project uses blueprints. In my RPG game project I use a Struct called “Equipment” that houses all the information about a piece of equipment (icon, an Enum array that lists what classes can use it, damage, pointers to specific equipment classes, etc.) The Enum variable listed a total of 18 character classes. This equipment struct is used heavily; used in functions, used in the equipment classes themselves, and in interfaces like inventory.

The problem: The last thing I remember doing was editing the Enum variable by shortening the list of character classes from 18 to 12. This caused the equipment Struct to have compilation problems. When a Struct cannot compile in UE4, it will cause errors for every single blueprint class in the project its referenced in.

What happens: I suppose the damage was too much, because from there on in any time you even left click on the Struct, UE4 crashes. Anything that that Struct references and you attempt to click on it, UE4 will crash.

What I tried: I have a backup of the project that used an older version of the struct. I tried swapping out the equipment Struct for an older one. This allowed me to open the struct, but yet the uncompiled blueprints would crash upon clicking. I swapped out all the old references and no luck either. I then reverted back.

This is the error that is displayed:

Assertion failed: OwningNode [File:D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Classes\EdGraph/EdGraphPin.h] [Line: 474]

UE4Editor_Core!AssertFailedImplV() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:100]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:450]
UE4Editor_Engine!UEdGraphPin::DoesDefaultValueMatchAutogenerated() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\EdGraph\EdGraphPin.cpp:710]
UE4Editor_BlueprintGraph!UK2Node::ValidateOrphanPins() [D:\Build++UE4\Sync\Engine\Source\Editor\BlueprintGraph\Private\K2Node.cpp:987]
UE4Editor_KismetCompiler!FKismetCompilerContext::CompileClassLayout() [D:\Build++UE4\Sync\Engine\Source\Editor\KismetCompiler\Private\KismetCompiler.cpp:3970]
UE4Editor_Kismet!FBlueprintCompilationManagerImpl::FlushCompilationQueueImpl() [D:\Build++UE4\Sync\Engine\Source\Editor\Kismet\Private\BlueprintCompilationManager.cpp:1212]
UE4Editor_Kismet!FBlueprintCompilationManager::FlushCompilationQueue() [D:\Build++UE4\Sync\Engine\Source\Editor\Kismet\Private\BlueprintCompilationManager.cpp:3020]
UE4Editor_CoreUObject!FScopedClassDependencyGather::~FScopedClassDependencyGather() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\Blueprint\BlueprintSupport.cpp:440]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:4578]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:4811]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:4185]
UE4Editor_CoreUObject!FLinkerLoad::CreateExportAndPreload() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3233]
UE4Editor_CoreUObject!FLinkerLoad::LoadAllObjects() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3397]
UE4Editor_CoreUObject!LoadPackageInternal() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1312]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2861]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2583]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2927]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2583]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2927]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2583]
UE4Editor_CoreUObject!FLinkerLoad::Verify() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2355]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeCreation() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2257]
UE4Editor_CoreUObject!FLinkerLoad::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:790]
UE4Editor_CoreUObject!FLinkerLoad::CreateLinker() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:459]
UE4Editor_CoreUObject!GetPackageLinker() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Linker.cpp:745]
UE4Editor_CoreUObject!LoadPackageInternal() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1208]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2861]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2583]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2927]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2583]
UE4Editor_CoreUObject!FLinkerLoad::Verify() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2355]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeCreation() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2257]
UE4Editor_CoreUObject!FLinkerLoad::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:790]
UE4Editor_CoreUObject!FLinkerLoad::CreateLinker() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:459]
UE4Editor_CoreUObject!GetPackageLinker() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Linker.cpp:745]
UE4Editor_CoreUObject!LoadPackageInternal() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1208]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2861]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2583]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2927]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2583]
UE4Editor_CoreUObject!FLinkerLoad::Verify() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2355]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeCreation() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2257]
UE4Editor_CoreUObject!FLinkerLoad::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:790]
UE4Editor_CoreUObject!FLinkerLoad::CreateLinker() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:459]
UE4Editor_CoreUObject!GetPackageLinker() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Linker.cpp:745]
UE4Editor_CoreUObject!LoadPackageInternal() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1208]
UE4Editor_CoreUObject!LoadPackage() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1427]
UE4Editor_CoreUObject!ResolveName() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:767]
UE4Editor_CoreUObject!StaticLoadObjectInternal() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:829]
UE4Editor_CoreUObject!StaticLoadObject() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:904]
UE4Editor_ContentBrowser!SContentBrowser::OnAssetsActivated() [D:\Build++UE4\Sync\Engine\Source\Editor\ContentBrowser\Private\SContentBrowser.cpp:2280]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void __cdecl(TArray<FAssetData,TSizedDefaultAllocator<32> > const &,enum EAssetTypeActivationMethod::Type)>::ExecuteIfSafe() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:374]
UE4Editor_ContentBrowser!SAssetView::OnListMouseButtonDoubleClick() [D:\Build++UE4\Sync\Engine\Source\Editor\ContentBrowser\Private\SAssetView.cpp:4409]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,void __cdecl(TSharedPtr<FAssetViewItem,0>)>::ExecuteIfSafe() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:374]
UE4Editor_ContentBrowser!TBaseDelegate<void,TSharedPtr<FAssetViewItem,0> >::ExecuteIfBound() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:673]
UE4Editor_ContentBrowser!SListView<TSharedPtr<FAssetViewItem,0> >::Private_OnItemDoubleClicked() [D:\Build++UE4\Sync\Engine\Source\Runtime\Slate\Public\Widgets\Views\SListView.h:932]
UE4Editor_ContentBrowser!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonDoubleClick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Slate\Public\Widgets\Views\STableRow.h:337]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_2b5148752c2a272000c47b69ff14a42e> >() [D:\Build++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:372]
UE4Editor_Slate!FSlateApplication::RoutePointerDoubleClickEvent() [D:\Build++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5126]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonDoubleClickEvent() [D:\Build++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5113]
UE4Editor_Slate!FSlateApplication::OnMouseDoubleClick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5079]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [D:\Build++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2144]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [D:\Build++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2592]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [D:\Build++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1816]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [D:\Build++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:852]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [D:\Build++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:130]
UE4Editor!FEngineLoop::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4762]
UE4Editor!GuardedMain() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
UE4Editor!GuardedMainWrapper() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
UE4Editor!WinMain() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
UE4Editor!__scrt_common_main_seh() [d:\agent_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

I think there’s no hope for me here. I hate restarting, but if it comes to that - what can I do to avoid something like this in the future? I have read that Structs are incredibly fragile, but editing a variable on a struct shouldn’t cause that much problems.

I appreciate your help.

7 posts - 5 participants