Reloading an asset in 4.26.1(source) breaks it's references

Hi,

The Question

I am asking is there a way to to recreate all references automatically by the engine?

–Read below to understand the situation.

Migrated from 4.21(launcher) to 4.26(source), and happy

My project was migrated from 4.21(launcher) to 4.26(source) over a year ago. And, has been working perfectly.

Now, I need to upgrade to 4.27(source) for reasons unrelated to this thread. So, I upgraded my project from 4.26(source) to 4.27(source).

Migrating from 4.26(source) to 4.27(source) good for Win64 but no good for PS4

Afterwards, I tried to build for Win64, and it passed and launched without issues… However, when I tried to build for PS4, it passed without errors, but crashes on launch with UnknownFunction [] errors.

After several trials and errors, I discovered the step that breaks the migration to 4.27 in my project. The step was setting the GameInstance to my custom made one(BPGI_GameInstance).

Once it change in the project settings, I notice an additional _C is attached to the end of the name (BPGI_GameInstance_C). And, here is where stuff hits the fan.

The GameInstance ordeal

I copied from a 4.26 backup project to test my options. I noticed that just by clicking in the editor->folder view->BPGI_GameInstace Right-click->Asset Action->Reload:

A new instance of BPGI_GameInstance appears in the folder viewer, and all references in other Blueprints get broken, and all the cast to BPGI_GameInstance become bad casts. And, the whole project becomes irreparable.

I’ve tried going through every call and instance to repair them by hand. But…

Log

LogUObjectGlobals: Reloading 1 Package(s):
    Asset Name: /Game/Blueprints/Misc/BPGM_Base
LogUObjectHash: Compacting FUObjectHashTables data took  15.01ms
LogOutputDevice: Warning: Script Stack (0 frames):
LogStats: FPlatformStackWalk::StackWalkAndDump -  2.577 s
LogOutputDevice: Error: === Handled ensure: ===
LogOutputDevice: Error: Ensure condition failed: !FBlueprintCompileReinstancer::IsReinstClass(OwnerClass) [File:Q:/UESrc/UE4_27/Engine/Source/Editor/UnrealEd/Private/Kismet2/KismetReinstanceUtilities.cpp] [Line: 1763]
LogOutputDevice: Error: OwnerClass should not be 'REINST_'! This means that a REINST class was parented to another REINST class, causing unwanted recursion!
LogOutputDevice: Error: Stack: 
LogOutputDevice: Error: [Callstack] 0x00007ffc9e5b9a99 UE4Editor-UnrealEd.dll!DispatchCheckVerify<bool,<lambda_e10531397a819c88993e977cb2993085> >() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Core\Public\Misc\AssertionMacros.h:164]
LogOutputDevice: Error: [Callstack] 0x00007ffc9ddb1cb8 UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::MoveCDOToNewClass() [Q:\UESrc\UE4_27\Engine\Source\Editor\UnrealEd\Private\Kismet2\KismetReinstanceUtilities.cpp:1763]
LogOutputDevice: Error: [Callstack] 0x00007ffc9bd1f4cd UE4Editor-Kismet.dll!MoveSkelCDOAside() [Q:\UESrc\UE4_27\Engine\Source\Editor\Kismet\Private\BlueprintCompilationManager.cpp:3028]
LogOutputDevice: Error: [Callstack] 0x00007ffc9bd1f611 UE4Editor-Kismet.dll!MoveSkelCDOAside() [Q:\UESrc\UE4_27\Engine\Source\Editor\Kismet\Private\BlueprintCompilationManager.cpp:3035]
LogOutputDevice: Error: [Callstack] 0x00007ffc9bcf47b3 UE4Editor-Kismet.dll!FBlueprintCompilationManagerImpl::FlushCompilationQueueImpl() [Q:\UESrc\UE4_27\Engine\Source\Editor\Kismet\Private\BlueprintCompilationManager.cpp:909]
LogOutputDevice: Error: [Callstack] 0x00007ffc9bc9badf UE4Editor-Kismet.dll!FBlueprintCompilationManagerImpl::CompileSynchronouslyImpl() [Q:\UESrc\UE4_27\Engine\Source\Editor\Kismet\Private\BlueprintCompilationManager.cpp:276]
LogOutputDevice: Error: [Callstack] 0x00007ffc9bc9b821 UE4Editor-Kismet.dll!FBlueprintCompilationManager::CompileSynchronously() [Q:\UESrc\UE4_27\Engine\Source\Editor\Kismet\Private\BlueprintCompilationManager.cpp:3095]
LogOutputDevice: Error: [Callstack] 0x00007ffc9dd8607e UE4Editor-UnrealEd.dll!FKismetEditorUtilities::CompileBlueprint() [Q:\UESrc\UE4_27\Engine\Source\Editor\UnrealEd\Private\Kismet2\Kismet2.cpp:754]
LogOutputDevice: Error: [Callstack] 0x00007ffc9dee2c54 UE4Editor-UnrealEd.dll!UPackageTools::HandlePackageReloaded() [Q:\UESrc\UE4_27\Engine\Source\Editor\UnrealEd\Private\PackageTools.cpp:999]
LogOutputDevice: Error: [Callstack] 0x00007ffc9ded3df4 UE4Editor-UnrealEd.dll!TBaseStaticDelegateInstance<void __cdecl(enum EPackageReloadPhase,FPackageReloadedEvent *),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:731]
LogOutputDevice: Error: [Callstack] 0x00007ffca29c879d UE4Editor-CoreUObject.dll!ReloadPackages() [Q:\UESrc\UE4_27\Engine\Source\Runtime\CoreUObject\Private\UObject\PackageReload.cpp:629]
LogOutputDevice: Error: [Callstack] 0x00007ffc9defb8e9 UE4Editor-UnrealEd.dll!UPackageTools::ReloadPackages() [Q:\UESrc\UE4_27\Engine\Source\Editor\UnrealEd\Private\PackageTools.cpp:736]
LogOutputDevice: Error: [Callstack] 0x00007ffc9defa895 UE4Editor-UnrealEd.dll!UPackageTools::ReloadPackages() [Q:\UESrc\UE4_27\Engine\Source\Editor\UnrealEd\Private\PackageTools.cpp:485]
LogOutputDevice: Error: [Callstack] 0x00007ffc61f34706 UE4Editor-ContentBrowserAssetDataSource.dll!FAssetFileContextMenu::ExecuteReload() [Q:\UESrc\UE4_27\Engine\Plugins\Editor\ContentBrowser\ContentBrowserAssetDataSource\Source\ContentBrowserAssetDataSource\Private\AssetFileContextMenu.cpp:1814]
LogOutputDevice: Error: [Callstack] 0x00007ffc61f32582 UE4Editor-ContentBrowserAssetDataSource.dll!TBaseSPMethodDelegateInstance<0,FAssetFileContextMenu,0,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
LogOutputDevice: Error: [Callstack] 0x00007ffca54fc7e9 UE4Editor-Slate.dll!SMenuEntryBlock::OnClicked() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Framework\MultiBox\SMenuEntryBlock.cpp:1081]
LogOutputDevice: Error: [Callstack] 0x00007ffca5502fa0 UE4Editor-Slate.dll!SMenuEntryBlock::OnMenuItemButtonClicked() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Framework\MultiBox\SMenuEntryBlock.cpp:1032]
LogOutputDevice: Error: [Callstack] 0x00007ffca54d671e UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,0,FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:290]
LogOutputDevice: Error: [Callstack] 0x00007ffca55773ee UE4Editor-Slate.dll!SButton::ExecuteOnClick() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:385]
LogOutputDevice: Error: [Callstack] 0x00007ffca5590822 UE4Editor-Slate.dll!SButton::OnMouseButtonUp() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:304]
LogOutputDevice: Error: [Callstack] 0x00007ffca5504705 UE4Editor-Slate.dll!SMenuEntryButton::OnMouseButtonUp() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Framework\MultiBox\SMenuEntryBlock.cpp:400]
LogOutputDevice: Error: [Callstack] 0x00007ffca53d67da UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_cc5aea9e7377b04ce85c30c65ec3889b> >() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:378]
LogOutputDevice: Error: [Callstack] 0x00007ffca54540b4 UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4831]
LogOutputDevice: Error: [Callstack] 0x00007ffca543c547 UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5372]
LogOutputDevice: Error: [Callstack] 0x00007ffca542f5e2 UE4Editor-Slate.dll!FSlateApplication::OnMouseUp() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5337]
LogOutputDevice: Error: [Callstack] 0x00007ffcbbb6c4e7 UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage() [Q:\UESrc\UE4_27\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2205]
LogOutputDevice: Error: [Callstack] 0x00007ffcbbb59677 UE4Editor-ApplicationCore.dll!FWindowsApplication::DeferMessage() [Q:\UESrc\UE4_27\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2698]
LogOutputDevice: Error: [Callstack] 0x00007ffcbbb6e920 UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessMessage() [Q:\UESrc\UE4_27\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1881]
LogOutputDevice: Error: [Callstack] 0x00007ffcbbb547e0 UE4Editor-ApplicationCore.dll!FWindowsApplication::AppWndProc() [Q:\UESrc\UE4_27\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:905]
LogOutputDevice: Error: [Callstack] 0x00007ffcd14ae108 USER32.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffcd14adb49 USER32.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffcbbb70174 UE4Editor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages() [Q:\UESrc\UE4_27\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:125]
LogOutputDevice: Error: [Callstack] 0x00007ff7c2a573c4 UE4Editor.exe!FEngineLoop::Tick() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4851]
LogOutputDevice: Error: [Callstack] 0x00007ff7c2a70ffc UE4Editor.exe!GuardedMain() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Launch\Private\Launch.cpp:178]
LogOutputDevice: Error: [Callstack] 0x00007ff7c2a710ea UE4Editor.exe!GuardedMainWrapper() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
LogOutputDevice: Error: [Callstack] 0x00007ff7c2a7410d UE4Editor.exe!LaunchWindowsStartup() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:273]
LogOutputDevice: Error: [Callstack] 0x00007ff7c2a854b4 UE4Editor.exe!WinMain() [Q:\UESrc\UE4_27\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:320]
LogOutputDevice: Error: [Callstack] 0x00007ff7c2a88046 UE4Editor.exe!__scrt_common_main_seh() [d:\a01\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
LogOutputDevice: Error: [Callstack] 0x00007ffcd18e6fd4 KERNEL32.DLL!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffcd233cf31 ntdll.dll!UnknownFunction []
LogStats:                SubmitErrorReport -  0.000 s
LogStats:                    SendNewReport -  1.875 s
LogStats:             FDebug::EnsureFailed -  4.461 s
LogUObjectHash: Compacting FUObjectHashTables data took   9.27ms
LogAudioMixer: Resetting audio stream to device id 
LogAudioMixer: Display: 0: FrontLeft
LogAudioMixer: Display: 1: FrontRight

Thank you,

Yasir

Any ideas anyone?