User report of an assertion that fires on editor reload during an attempt to reload an AIController-based Blueprint class with a dependency on a child Blueprint class, both created in a previous editor session.
[2018.03.23-13.48.51:182][876]LogWindows: Error: === Critical error: === [2018.03.23-13.48.51:183][876]LogWindows: Error: [2018.03.23-13.48.51:185][876]LogWindows: Error: Assertion failed: !Obj->HasAnyFlags(RF_NeedLoad|RF_NeedPostLoad|RF_ClassDefaultObject) || bIsOwnedByCDO [File:F:\dev\Epic\UE4\Release-4.19\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 2384] [2018.03.23-13.48.51:189][876]LogWindows: Error: Attempting to replace an object that hasn't been fully loaded: AISenseConfig_Sight /Game/FirstPersonBP/ControllerB.ControllerB_C:AIPerception_GEN_VARIABLE.AISenseConfig_Sight_0 (Outer=AIPerceptionComponent /Game/FirstPersonBP/ControllerB.ControllerB_C:AIPerception_GEN_VARIABLE, Flags=0x00283021) [2018.03.23-13.48.51:195][876]LogWindows: Error: [2018.03.23-13.48.51:196][876]LogWindows: Error: [2018.03.23-13.48.51:198][876]LogWindows: Error:
 	UE4Editor-Core-Win64-Debug.dll!FDebug::AssertFailed(const char * Expr, const char * File, int Line, const wchar_t * Format, ...) Line 419	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!StaticAllocateObject(UClass * InClass, UObject * InOuter, FName InName, EObjectFlags InFlags, EInternalObjectFlags InternalSetFlags, bool bCanRecycleSubobjects, bool * bOutRecycledSubobject) Line 2379	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!StaticConstructObject_Internal(UClass * InClass, UObject * InOuter, FName InName, EObjectFlags InFlags, EInternalObjectFlags InternalSetFlags, UObject * InTemplate, bool bCopyTransientsFromClassDefaults, FObjectInstancingGraph * InInstanceGraph, bool bAssumeTemplateIsArchetype) Line 3161	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FObjectInstancingGraph::GetInstancedSubobject(UObject * SourceSubobject, UObject * CurrentValue, UObject * CurrentObject, bool bDoNotCreateNewInstance, bool bAllowSelfReference) Line 215	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FObjectInstancingGraph::InstancePropertyValue(UObject * ComponentTemplate, UObject * CurrentValue, UObject * Owner, bool bIsTransient, bool bCausesInstancing, bool bAllowSelfReference) Line 287	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObjectPropertyBase::InstanceSubobjects(void * Data, const void * DefaultData, UObject * Owner, FObjectInstancingGraph * InstanceGraph) Line 36	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UArrayProperty::InstanceSubobjects(void * Data, const void * DefaultData, UObject * Owner, FObjectInstancingGraph * InstanceGraph) Line 516	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UStruct::InstanceSubobjectTemplates(void * Data, const void * DefaultData, UStruct * DefaultStruct, UObject * Owner, FObjectInstancingGraph * InstanceGraph) Line 1518	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FObjectInitializer::InstanceSubobjects(UClass * Class, bool bNeedInstancing, bool bNeedSubobjectInstancing) Line 2968	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FObjectInitializer::PostConstructInit() Line 2848	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FDeferredObjInitializerTracker::ResolveDeferredSubObjects(UObject * CDO) Line 2576	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FDeferredObjInitializerTracker::ResolveDeferredInitialization(UClass * LoadClass) Line 2529	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FDeferredObjInitializerTracker::ResolveDeferredSubClassObjects(UClass * SuperClass) Line 2612	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::ResolveDeferredExports(UClass * LoadClass) Line 1880	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::FinalizeBlueprint(UClass * LoadClass) Line 1614	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::FinalizeBlueprint(UClass * LoadClass) Line 1567	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::Preload(UObject * Object) Line 3353	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::CreateExport(int Index) Line 4027	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::CreateExportAndPreload(int ExportIndex, bool bForcePreload) Line 2746	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::LoadAllObjects(bool bForcePreload) Line 2908	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!LoadPackageInternal(UPackage * InOuter, const wchar_t * InLongPackageNameOrFilename, unsigned int LoadFlags, FLinkerLoad * ImportLinker) Line 1328	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImportInner(const int ImportIndex, FString & WarningSuffix) Line 2423	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImport(int ImportIndex) Line 2179	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImportInner(const int ImportIndex, FString & WarningSuffix) Line 2471	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImport(int ImportIndex) Line 2179	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::CreateImport(int Index) Line 4173	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::ResolveDependencyPlaceholder(FLinkerPlaceholderBase * PlaceholderIn, UClass * ReferencingClass, const FName ObjectPath) Line 1381	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::ResolveDeferredDependencies(UStruct * LoadStruct) Line 1241	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::Preload(UObject * Object) Line 3353	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::CreateExport(int Index) Line 4027	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::IndexToObject(FPackageIndex Index) Line 4250	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::CreateExport(int Index) Line 3648	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::CreateExportAndPreload(int ExportIndex, bool bForcePreload) Line 2746	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::LoadAllObjects(bool bForcePreload) Line 2908	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!LoadPackageInternal(UPackage * InOuter, const wchar_t * InLongPackageNameOrFilename, unsigned int LoadFlags, FLinkerLoad * ImportLinker) Line 1328	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImportInner(const int ImportIndex, FString & WarningSuffix) Line 2423	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImport(int ImportIndex) Line 2179	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImportInner(const int ImportIndex, FString & WarningSuffix) Line 2471	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImport(int ImportIndex) Line 2179	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImportInner(const int ImportIndex, FString & WarningSuffix) Line 2471	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImport(int ImportIndex) Line 2179	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::Verify() Line 1966	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::FinalizeCreation() Line 1868	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::Tick(float InTimeLimit, bool bInUseTimeLimit, bool bInUseFullTimeLimit) Line 735	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::CreateLinker(UPackage * Parent, const wchar_t * Filename, unsigned int LoadFlags) Line 438	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!GetPackageLinker(UPackage * InOuter, const wchar_t * InLongPackageName, unsigned int LoadFlags, UPackageMap * Sandbox, FGuid * CompatibleGuid) Line 700	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!LoadPackageInternal(UPackage * InOuter, const wchar_t * InLongPackageNameOrFilename, unsigned int LoadFlags, FLinkerLoad * ImportLinker) Line 1240	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImportInner(const int ImportIndex, FString & WarningSuffix) Line 2423	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImport(int ImportIndex) Line 2179	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImportInner(const int ImportIndex, FString & WarningSuffix) Line 2471	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::VerifyImport(int ImportIndex) Line 2179	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::Verify() Line 1966	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::FinalizeCreation() Line 1868	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::Tick(float InTimeLimit, bool bInUseTimeLimit, bool bInUseFullTimeLimit) Line 735	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FLinkerLoad::CreateLinker(UPackage * Parent, const wchar_t * Filename, unsigned int LoadFlags) Line 438	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!GetPackageLinker(UPackage * InOuter, const wchar_t * InLongPackageName, unsigned int LoadFlags, UPackageMap * Sandbox, FGuid * CompatibleGuid) Line 700	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!LoadPackageInternal(UPackage * InOuter, const wchar_t * InLongPackageNameOrFilename, unsigned int LoadFlags, FLinkerLoad * ImportLinker) Line 1240	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!LoadPackage(UPackage * InOuter, const wchar_t * InLongPackageName, unsigned int LoadFlags) Line 1436	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!ResolveName(UObject * & InPackage, FString & InOutName, bool Create, bool Throw, unsigned int LoadFlags) Line 792	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!StaticLoadObjectInternal(UClass * ObjectClass, UObject * InOuter, const wchar_t * InName, const wchar_t * Filename, unsigned int LoadFlags, UPackageMap * Sandbox, bool bAllowObjectReconciliation) Line 880	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!StaticLoadObject(UClass * ObjectClass, UObject * InOuter, const wchar_t * InName, const wchar_t * Filename, unsigned int LoadFlags, UPackageMap * Sandbox, bool bAllowObjectReconciliation) Line 947	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!FAssetData::GetAsset() Line 284	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!SContentBrowser::OnAssetsActivated(const TArray<FAssetData,FDefaultAllocator> & ActivatedAssets, EAssetTypeActivationMethod::Type ActivationMethod) Line 2052	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,TTypeWrapper<void> __cdecl(TArray<FAssetData,FDefaultAllocator> const & __ptr64,enum EAssetTypeActivationMethod::Type)>::Execute(const TArray<FAssetData,FDefaultAllocator> & <Params_0>, EAssetTypeActivationMethod::Type <Params_1>) Line 269	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void __cdecl(TArray<FAssetData,FDefaultAllocator> const & __ptr64,enum EAssetTypeActivationMethod::Type)>::ExecuteIfSafe(const TArray<FAssetData,FDefaultAllocator> & <Params_0>, EAssetTypeActivationMethod::Type <Params_1>) Line 347	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!TBaseDelegate<void,TArray<FAssetData,FDefaultAllocator> const & __ptr64,enum EAssetTypeActivationMethod::Type>::ExecuteIfBound(const TArray<FAssetData,FDefaultAllocator> & <Params_0>, EAssetTypeActivationMethod::Type <Params_1>) Line 624	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,0> AssetItem) Line 3941	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!TMemberFunctionCaller<SAssetView,void (__cdecl SAssetView::*)(TSharedPtr<FAssetViewItem,0>) __ptr64>::operator()<TSharedPtr<FAssetViewItem,0> & __ptr64>(TSharedPtr<FAssetViewItem,0> & <Args_0>) Line 157	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!TBaseSPMethodDelegateInstance<0,SAssetView,0,TTypeWrapper<void> __cdecl(TSharedPtr<FAssetViewItem,0>)>::Execute(TSharedPtr<FAssetViewItem,0> <Params_0>) Line 269	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!TBaseSPMethodDelegateInstance<0,SAssetView,0,void __cdecl(TSharedPtr<FAssetViewItem,0>)>::ExecuteIfSafe(TSharedPtr<FAssetViewItem,0> <Params_0>) Line 347	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!TBaseDelegate<void,TSharedPtr<FAssetViewItem,0> >::ExecuteIfBound(TSharedPtr<FAssetViewItem,0> <Params_0>) Line 624	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!SListView<TSharedPtr<FAssetViewItem,0> >::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,0> TheItem) Line 809	C++
 	UE4Editor-ContentBrowser-Win64-Debug.dll!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonDoubleClick(const FGeometry & InMyGeometry, const FPointerEvent & InMouseEvent) Line 287	C++
 	UE4Editor-Slate-Win64-Debug.dll!FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda>(const FArrangedWidget & TargetWidget, const FPointerEvent & Event) Line 5872	C++
 	UE4Editor-Slate-Win64-Debug.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,FReply <lambda>(const FArrangedWidget &, const FPointerEvent &) >(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerDoubleClickEvent::__l2::FReply <lambda>(const FArrangedWidget &, const FPointerEvent &) & Lambda) Line 266	C++
 	UE4Editor-Slate-Win64-Debug.dll!FSlateApplication::RoutePointerDoubleClickEvent(FWidgetPath & WidgetsUnderPointer, FPointerEvent & PointerEvent) Line 5870	C++
 	UE4Editor-Slate-Win64-Debug.dll!FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<FGenericWindow,0> & PlatformWindow, FPointerEvent & InMouseEvent) Line 5857	C++
 	UE4Editor-Slate-Win64-Debug.dll!FSlateApplication::OnMouseDoubleClick(const TSharedPtr<FGenericWindow,0> & PlatformWindow, const EMouseButtons::Type Button, const FVector2D CursorPos) Line 5833	C++
 	UE4Editor-ApplicationCore-Win64-Debug.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 1730	C++
 	UE4Editor-ApplicationCore-Win64-Debug.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2172	C++
 	UE4Editor-ApplicationCore-Win64-Debug.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 891	C++
 	UE4Editor-ApplicationCore-Win64-Debug.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 725	C++
 	[External Code]	
 	UE4Editor-ApplicationCore-Win64-Debug.dll!WinPumpMessages() Line 107	C++
 	UE4Editor-ApplicationCore-Win64-Debug.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 132	C++
 	UE4Editor-Win64-Debug.exe!FEngineLoop::Tick() Line 3263	C++
 	UE4Editor-Win64-Debug.exe!EngineTick() Line 63	C++
 	UE4Editor-Win64-Debug.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 169	C++
 	UE4Editor-Win64-Debug.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 199	C++
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-56422 in the post.
| 3 | 
| Component | UE - Gameplay - Blueprint | 
|---|---|
| Affects Versions | 4.18.3, 4.19, 4.19.1 | 
| Target Fix | 4.20 | 
| Created | Mar 23, 2018 | 
|---|---|
| Resolved | May 31, 2018 | 
| Updated | Jun 12, 2018 |