[Crash on Load]: ActorComponent mirroring Interface functions.

I am 100% sure that making my player class implement an interface and then attach a certain component with mirrored functions as the interface resulted in the crash. It crashed previously. I reverted on GitHub, and then systematically re-committed uassets until I could confirm that the player pawn was the problem. After attempting to reinstate the previous settings, the crash occurred again, so I know WHAT is causing it, but not WHY.

I’ve been avoiding inheritance as much as I can and doing everything through a combination of interfaces and components. The actors implement the interface and the components implement the code. The only thing the actors do is plug n’ chug the code from the component into the interface functions. Haven’t had any issues for a week. Then I attempt to add a new interface/component combo into the player class that I’ve already well-integrated into my project (BP_Player, derived from BP_BasePawn, derived from Pawn), and suddenly every time I attempt to open the engine, it crashes around the 93% stage or so. To identify it, I was re-committing things, closing, and re-opening the engine to test, all the way until I found the asset that triggered it.

While I’m not sure if this is also relevant, I encountered another odd bug where my interface reference pins would appear blue, drag out blue wires, but plug into the appropriate yellow interface reference pins seamlessly.

Here is the stack trace for my editor crash:

MachineId:0C37E1DA4FBB7B1CC4104E81CE603F51
EpicAccountId:d561d110ed77453aad9a9574d4009d80

Unknown exception - code 00000001 (first/second chance not available)

"Assertion failed: InputClass && InputClass->IsChildOf(UInterface::StaticClass()) [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.8\Engine\Source\Edito

KERNELBASE
UE4Editor_Core!FOutputDeviceWindowsError::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor_Core!FOutputDevice::Logf__VA() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
UE4Editor_Core!FDebug::AssertFailed() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\misc\outputdevice.cpp:355]
UE4Editor_BlueprintGraph!UEdGraphSchema_K2::ArePinTypesCompatible() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\blueprintgraph\private\edgraphschema_k2.cpp:3393]
UE4Editor_BlueprintGraph!UK2Node::DoPinsMatchForReconstruction() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\blueprintgraph\private\k2node.cpp:460]
UE4Editor_BlueprintGraph!UK2Node_BreakStruct::DoPinsMatchForReconstruction() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\blueprintgraph\private\k2node_breakstruct.cpp:285]
UE4Editor_BlueprintGraph!UK2Node::RewireOldPinsToNewPins() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\blueprintgraph\private\k2node.cpp:636]
UE4Editor_BlueprintGraph!UK2Node::ReconstructNode() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\blueprintgraph\private\k2node.cpp:399]
UE4Editor_BlueprintGraph!UEdGraphSchema_K2::ReconstructNode() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\blueprintgraph\private\edgraphschema_k2.cpp:3596]
UE4Editor_UnrealEd!FBlueprintEditorUtils::RefreshAllNodes() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:452]
UE4Editor_UnrealEd!FBlueprintEditorUtils::RegenerateBlueprintClass() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:1447]
UE4Editor_CoreUObject!FLinkerLoad::RegenerateBlueprintClass() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:332]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeBlueprint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:1140]
UE4Editor_CoreUObject!FLinkerLoad::Preload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3098]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3698]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3882]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3413]
UE4Editor_CoreUObject!FLinkerLoad::CreateExportAndPreload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2581]
UE4Editor_CoreUObject!FLinkerLoad::LoadAllObjects() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2689]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:997]
UE4Editor_CoreUObject!FLinkerLoad::ResolveDeferredDependencies() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:813]
UE4Editor_CoreUObject!FLinkerLoad::Preload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3098]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3698]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3882]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3413]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3882]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3413]
UE4Editor_CoreUObject!FLinkerLoad::CreateExportAndPreload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2581]
UE4Editor_CoreUObject!FLinkerLoad::LoadAllObjects() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2689]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:997]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2274]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2322]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::Verify() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1827]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeCreation() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1737]
UE4Editor_CoreUObject!FLinkerLoad::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:627]
UE4Editor_CoreUObject!FLinkerLoad::CreateLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:371]
UE4Editor_CoreUObject!GetPackageLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linker.cpp:559]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:931]
UE4Editor_CoreUObject!ResolveName() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:677]
UE4Editor_CoreUObject!StaticLoadObjectInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:764]
UE4Editor_CoreUObject!StaticLoadObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:826]
UE4Editor_CoreUObject!UObjectPropertyBase::FindImportedObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\propertybaseobject.cpp:391]
UE4Editor_CoreUObject!UObjectPropertyBase::ParseObjectPropertyValue() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\propertybaseobject.cpp:252]
UE4Editor_CoreUObject!UClassProperty::ImportText_Internal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\propertyclass.cpp:76]
UE4Editor_CoreUObject!UProperty::ImportText() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\public\uobject\unrealtype.h:260]
UE4Editor_UnrealEd!FBlueprintEditorUtils::PropertyValueFromString() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:7217]
UE4Editor_UnrealEd!UUserDefinedStructEditorData::RecreateDefaultInstance() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\editor\unrealed\private\userdefinedstructeditordata.cpp:80]
UE4Editor_Engine!UUserDefinedStruct::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\engine\private\userdefinedstruct.cpp:34]
UE4Editor_CoreUObject!FLinkerLoad::Preload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3051]
UE4Editor_Engine!UUserDefinedStruct::RecursivelyPreload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\engine\private\userdefinedstruct.cpp:186]
UE4Editor_CoreUObject!PreloadInnerStructMembers() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\propertystruct.cpp:21]
UE4Editor_CoreUObject!UStructProperty::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\propertystruct.cpp:229]
UE4Editor_CoreUObject!FLinkerLoad::Preload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3051]
UE4Editor_CoreUObject!UStruct::Link() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\class.cpp:495]
UE4Editor_CoreUObject!UFunction::Link() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\class.cpp:4215]
UE4Editor_CoreUObject!UStruct::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\class.cpp:1367]
UE4Editor_CoreUObject!UFunction::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\class.cpp:4134]
UE4Editor_CoreUObject!FLinkerLoad::Preload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3051]
UE4Editor_Engine!UBlueprintGeneratedClass::Link() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\engine\private\blueprintgeneratedclass.cpp:606]
UE4Editor_CoreUObject!UClass::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\class.cpp:3323]
UE4Editor_Engine!UBlueprintGeneratedClass::Serialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\engine\private\blueprintgeneratedclass.cpp:716]
UE4Editor_CoreUObject!FLinkerLoad::Preload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3051]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3698]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3882]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3413]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3882]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3413]
UE4Editor_CoreUObject!FLinkerLoad::CreateExportAndPreload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2581]
UE4Editor_CoreUObject!FLinkerLoad::LoadAllObjects() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2689]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:997]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2274]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2322]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::CreateImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3832]
UE4Editor_CoreUObject!FLinkerLoad::ResolveDependencyPlaceholder() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:943]
UE4Editor_CoreUObject!FLinkerLoad::ResolveDeferredDependencies() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:821]
UE4Editor_CoreUObject!FLinkerLoad::ResolveDeferredDependencies() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:839]
UE4Editor_CoreUObject!FLinkerLoad::Preload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3098]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3698]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3882]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3413]
UE4Editor_CoreUObject!FLinkerLoad::IndexToObject() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3882]
UE4Editor_CoreUObject!FLinkerLoad::CreateExport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3413]
UE4Editor_CoreUObject!FLinkerLoad::CreateExportAndPreload() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2581]
UE4Editor_CoreUObject!FLinkerLoad::LoadAllObjects() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2689]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:997]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2274]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2322]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::Verify() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1827]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeCreation() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1737]
UE4Editor_CoreUObject!FLinkerLoad::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:627]
UE4Editor_CoreUObject!FLinkerLoad::CreateLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:371]
UE4Editor_CoreUObject!GetPackageLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linker.cpp:559]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:931]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2274]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2322]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::Verify() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1827]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeCreation() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1737]
UE4Editor_CoreUObject!FLinkerLoad::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:627]
UE4Editor_CoreUObject!FLinkerLoad::CreateLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:371]
UE4Editor_CoreUObject!GetPackageLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linker.cpp:559]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:931]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2274]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::Verify() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1827]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeCreation() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1737]
UE4Editor_CoreUObject!FLinkerLoad::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:627]
UE4Editor_CoreUObject!FLinkerLoad::CreateLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:371]
UE4Editor_CoreUObject!GetPackageLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linker.cpp:559]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:931]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2274]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImportInner() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2322]
UE4Editor_CoreUObject!FLinkerLoad::VerifyImport() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2037]
UE4Editor_CoreUObject!FLinkerLoad::Verify() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1827]
UE4Editor_CoreUObject!FLinkerLoad::FinalizeCreation() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1737]
UE4Editor_CoreUObject!FLinkerLoad::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:627]
UE4Editor_CoreUObject!FLinkerLoad::CreateLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:371]
UE4Editor_CoreUObject!GetPackageLinker() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\linker.cpp:559]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:931]

I think I may have solved it, but I have no idea exactly how.
I have the following interfaces…

BPI_Skill

BPI_SkillUser

I then have the following Actors implementing BPI_Skill

BP_SkillForm_Bullet

BP_SkillForm_Explosion

BP_SkillForm_Dash

BP_SkillForm_Meditation

BP_SkillForm_Wall

Many other systems use BPI_Skill and BPI_SkillUser variables in their Blueprints. The BPI_SkillUser also has several Structs that contain arrays of BPI_Skill assets.

The problem SEEMS to have been that BPI_Skill needed to be compiled and have a Struct pin plugged into a break (no idea how it stopped being hooked up in the first place since all of the other Struct pins were still plugged in. Not like they ALL unhooked…). This caused me to have to recompile and make minor adjustments (rehooking pins, etc.) in every SkillForm actor as well as every Blueprint Function Library function that dealt with skills.

I closed the editor, restarted it, and everything worked fine. I could open up the assets that were giving me issues before I had reverted. After ensuring that every possible asset had been recompiled and saved, I then re-attempted the creation of a player pawn that implemented BPI_SkillUser with a BP_SkillUser component. I created it one at a time, first with the interface, and then added the component. Each time, the editor opened up without a hitch and I was able to open and edit my player pawn Blueprint.

This has been a re-occurring problem whereby changes in one place cause random other locations to need a re-compile and/or re-hooking of pins (and sometimes the recompiling will require re-hooking of pins too). Then when I attempt to open an asset, the entire engine will crash because something used or referenced by that asset isn’t compiled. It’s a serious problem because I am not easily notified of when things aren’t compiling somewhere. Consequently, I’ll be unable to determine why the engine suddenly crashes. I had to completely close down a previous project for the exact same reason (using GitHub this time around saved me, but…ouch).

Perhaps this could be fixed by placing a big red dot next to any asset in the Content Browser that isn’t compiling correctly? And/or giving us some other type of notification? So far as I know, the only way we might be notified is if we attempt to play the game in the editor.

Hey -

I’m not sure I understand how you’re using your actors/components/interface. To help me understand and reproduce the crash could you post screenshots of how your interface and actors are setup? Another option that would be even better would be if you could send me a copy of the project where the crash is occurring? For privacy you can upload the project to dropbox and then send me a private message on the forums with a link to download it.

Cheers

Bad news: I’ve already reverted my project and attempted to fix it on my own, so it is no longer in the same state as it was when I initially sent this message.

Good news: my attempts to fix it actually did end up fixing it. The problem (if I recall correctly now), was that one of the interface functions had been modified causing pins to automatically unhook from a call to that modified interface function in a class’s event graph. These unhooked pins were keeping that class from compiling and that class was being used extensively in the project (so other items were attempting to reference the uncompilable class. When I hooked up the pin, recompiled the asset, and then did the same stuff that was originally causing the editor to crash on load, everything loaded up fine.

Bad news: this is only one of many situations I have encountered over the past two months of trying to do Blueprint-only programming where some action I take causes an asset elsewhere to suddenly unhook pins and / or require recompilation. This then causes a chain reaction in other assets that reference the asset that can’t be compiled which results in the editor crashing. Sometimes the engine crashes when I attempt to save, other times compile, other times, (like this time), when I try to load the engine. It is by far the biggest bug I have come across.

I already have a feature request setup (something like Notification of Necessary Attention or something) that would seriously help to prevent these sorts of problems.

I don’t have an explicit case to share with you sadly. I will certainly try to show you some screenshots of my Blueprint setup tomorrow though.

Sorry for the wait. I would show you the project itself, but as I explained, it has already been fixed so that it doesn’t crash on load. However, since similar issues have been popping up throughout my time developing all of this (Blueprint-only, no C++ involved), I’ll throw these in. Here is an illustration of my setup.

Somehow, if there is some component or function down the hierarchy that causes a recompile or re-hooking of pins somewhere else up in the hierarchy, it sometimes results in a crash. Hard to identify exactly when this occurs, but it has happened to me on several occasions when I have all these different elements intertwined.

EDIT: The second image should say “…the COMPONENT can still easily be moved around…”

Hey -

I tried creating an actor and interface and gave each a function with the same name. Trying to call the interface function from the actor did not crash for me. I will be marking this post as resolved since you were able to work around this issue already. If you do have a crash in the future because of your interface/actors feel free to comment here to reopen the post and we will investigate further. Be sure to include the callstack and log files if you experience this crash again.

Cheers