[Urgent] Cannot Open Custom GameInstance, Editor Crashing

Hey Guys,

Got another bad issue here. Spent a lot of work working on my custom game instance class last night and was up really late. Everything was working but now coming into my project and trying to edit game instance class produces following error…

I really need to get this up and running. I’ll try making a backup of its current state and try reverting to previous files but I do not want to end up losing work from last night so I appreciate assistance.

Thanks!

Assertion failed: !Obj->HasAnyFlags(RF_NeedLoad|RF_NeedPostLoad|RF_ClassDefaultObject) [File:D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 1754]
Attempting to replace an object that hasn’t been fully loaded: EdGraph /Game/Core/Blueprints/StarRacerInstance.StarRacerInstance:Get Graphics Settings
Stack:
FWindowsPlatformStackWalk::StackWalkAndDump() 0x46465896 + 0 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\runtime\core\private\windows\windowsplatformstackwalk.cpp:177] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-Core.dll]
FDebug::AssertFailed() 0x46304535 + 0 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\runtime\core\private\misc\outputdevice.cpp:203] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-Core.dll]
StaticAllocateObject() 0x5747d3b6 + 145 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1754] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-CoreUObject.dll]
StaticConstructObject() 0x5747dfde + 35 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2168] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-CoreUObject.dll]
NewNamedObject() 0x42a36268 + 0 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\runtime\coreuobject\public\uobject\uobjectglobals.h:1044] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-KismetCompiler.dll]
FKismetCompilerContext::CreateFunctionStubForEvent() 0x42a81fa3 + 18 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:2193] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-KismetCompiler.dll]
FKismetCompilerContext::CreateAndProcessUbergraph() 0x42a7f539 + 0 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:2545] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-KismetCompiler.dll]
FKismetCompilerContext::CreateFunctionList() 0x42a81cb3 + 0 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:2911] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-KismetCompiler.dll]
FKismetCompilerContext::Compile() 0x42a75db0 + 12 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:3156] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-KismetCompiler.dll]
FKismet2CompilerModule::CompileBlueprintInner() 0x42a7793c + 0 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\editor\kismetcompiler\private\kismetcompilermodule.cpp:125] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-KismetCompiler.dll]
FKismet2CompilerModule::CompileBlueprint() 0x42a77468 + 39 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\editor\kismetcompiler\private\kismetcompilermodule.cpp:159] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-KismetCompiler.dll]
FKismetEditorUtilities::GenerateBlueprintSkeleton() 0x3df7dded + 0 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engine\source\editor\unrealed\private\kismet2\kismet2.cpp:479] [in D:\Unreal Engine 4\Source\UnrealEngine-4.4.3-release\Engine\Binaries\Win64\UE4Editor-UnrealEd.dll]
FBlueprintEditorUtils::RegenerateBlueprintClass() 0x3df9b3f6 + 0 bytes [File=d:\unreal engine 4\source\unrealengine-4.4.3-release\engin

I was able to get into a backup just now and I am reviewing it but it does look like it works however I am seeing an issue with it. I have an interface that clearly has a Get function with a return. However it deleted my overload. I noticed this first thing before I got above crash. What happened before crash is file did open normally but it wasn’t until I tried re-compiling it and then trying to open it did it cause above block.

I am afraid to click re-compile now and my interface function is only showing as an event but it has a return value so I may try to delete function, recreate it and see if that works.

Just fixed it a third time, exited editor after it compiled successfully and now it is crashing again. I’ll give this one more shot but if it keeps failing, I’ll wait it out until I hear back. Thanks.

So I just tried above and it appeared to compile successfully and I was able to add function with return node. However, I tried closing down and re-opening project and sure enough, my interface message call to that function is now missing it’s output and function has been deleted again from my custom GameInstance. I’ll keep trying and seeing if I can get around it.

Okay, now I am really confused. Now mind you, this custom GameInstance class has not been associated yet as primary GameInstance class for project.

But level that was open last night when I was creating it has some sort of dependency on Blueprint. That doesn’t make any sense as it’s not an actor let alone being used currently. way I just noticed this is because editor loads a different level from start and I can open it right away with a crash. But if I open that level I was in last night, it crashes.

I am using interface messages to communicate with BP but I am not doing any direct casting to that custom GameInstance class nor storing a reference in BP that is calling functions against it.

But I have seen this before, I created another asset last week that ended up never being used within a scene or another BP so when I tried to delete it, it said it had references to level that was open when I created it. Hopefully creating new assets shouldn’t auto-create references to level that is open or vice versa, especially when they are not being used let alone placed within level. But I’m pretty confused on this one and am going to just avoid it until I can get this sorted out.

Hey MC Stryker,

Can you attach crash logs and dump files for this project? Thanks!

Absolutely ! Thanks for helping me out on this one btw. Give me a couple minutes to grab files around timestamp of my post and I’ll get them up to OneDrive and post a link.

Here you go … Microsoft OneDrive - Access files anywhere. Create docs with free Office Online.

Hey MC Stryker,

Sorry for delay in response. If you haven’t already, make a copy of your project and open it in 4.5 Preview, and let me know if errors persist. There have been some updates with how engine handles circular dependency issues and your crash may involve interface work you’re doing. Thanks!

Hey , no worries buddy. I’ll definitely try that and glad to hear some more issues with circular dependencies have been worked out. I’ll try that and let you know if that resolves issue, fingers crossed :wink: Thanks for your response!

Hey , sorry about delay. I was actually going to post a follow up. I haven’t tested this with 4.5 Preview and since I’ve been slammed lately, I figured I’d wait for stable release to test this. What I’ll do is once 4.5 drops this week, I’ll test this out and get back to you. Not sure if it’s specifically related to GameInstance class but I did experience similar issues when I first tried to use when it was released back in 4.3. But I’ll give this a shot and probably post a reply this week with an update once I upgrade to 4.5. Other than that , hope you and team are having a great start to your week. Take Care!

Hey MC Stryker,

We haven’t heard back from you in a while, so I am marking this post as resolved for tracking purposes. If you’ve had a chance to test your project with 4.5 and are still seeing these issues, please feel free to open this post up again and we can continue investigation. Thanks!

Hi , this is still an issue in 4.5. Just tested it right now :frowning:

Unfortunately, I cannot post a message of this length with crash log so I am dropping this in an answer…

Hey , this is output from my failed 4.5 attempt…

Assertion failed: !Obj->HasAnyFlags(RF_NeedLoad|RF_NeedPostLoad|RF_ClassDefaultObject) [File:D:\Unreal Engine 4\Source\UnrealEngine-4.5.0-release\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 1758]
Attempting to replace an object that hasn’t been fully loaded: EdGraph /Game/Core/Blueprints/StarRacerInstance.StarRacerInstance:Get Graphics Settings

KERNELBASE.dll!UnknownFunction (0x00007fffbbb0606c) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() (0x00007fffa0f39ecd) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor-Core.dll!FOutputDevice::Logf__VA() (0x00007fffa0dd5b08) + 159 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\private\misc\outputdevice.cpp:145]
UE4Editor-Core.dll!FDebug::AssertFailed() (0x00007fffa0db88c2) + 62 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\private\misc\outputdevice.cpp:220]
UE4Editor-CoreUObject.dll!StaticAllocateObject() (0x00007fffa53044ea) + 145 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1758]
UE4Editor-CoreUObject.dll!StaticConstructObject() (0x00007fffa5305217) + 49 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2172]
UE4Editor-KismetCompiler.dll!FKismetCompilerContext::CreateFunctionStubForEvent() (0x00007fff9ed572fe) + 109 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:2263]
UE4Editor-KismetCompiler.dll!FKismetCompilerContext::CreateAndProcessUbergraph() (0x00007fff9ed545f9) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:2615]
UE4Editor-KismetCompiler.dll!FKismetCompilerContext::CreateFunctionList() (0x00007fff9ed56fb3) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:2997]
UE4Editor-KismetCompiler.dll!FKismetCompilerContext::Compile() (0x00007fff9ed4ae16) + 12 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\kismetcompiler\private\kismetcompiler.cpp:3232]
UE4Editor-KismetCompiler.dll!FKismet2CompilerModule::CompileBlueprintInner() (0x00007fff9ed4c95b) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\kismetcompiler\private\kismetcompilermodule.cpp:125]
UE4Editor-KismetCompiler.dll!FKismet2CompilerModule::CompileBlueprint() (0x00007fff9ed4c488) + 39 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\kismetcompiler\private\kismetcompilermodule.cpp:159]
UE4Editor-UnrealEd.dll!FKismetEditorUtilities::GenerateBlueprintSkeleton() (0x00007fff973275de) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\unrealed\private\kismet2\kismet2.cpp:487]
UE4Editor-UnrealEd.dll!FBlueprintEditorUtils::RegenerateBlueprintClass() (0x00007fff972dec4e) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:1109]
UE4Editor-CoreUObject.dll!ULinkerLoad::RegenerateBlueprintClass() (0x00007fffa5225780) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:124]
UE4Editor-CoreUObject.dll!ULinkerLoad::CreateExport() (0x00007fffa527331d) + 14 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3226]
UE4Editor-CoreUObject.dll!ULinkerLoad::IndexToObject() (0x00007fffa528eb54) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3425]
UE4Editor-CoreUObject.dll!ULinkerLoad::operator<<() (0x00007fffa5261e14) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3597]
UE4Editor-CoreUObject.dll!UClass::Serialize() (0x00007fffa5233a51) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\class.cpp:3038]
UE4Editor-CoreUObject.dll!ULinkerLoad::Preload() (0x00007fffa529877d) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2765]
UE4Editor-CoreUObject.dll!ULinkerLoad::CreateExport() (0x00007fffa52734cf) + 16 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3272]
UE4Editor-CoreUObject.dll!ULinkerLoad::IndexToObject() (0x00007fffa528eb54) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3425]
UE4Editor-CoreUObject.dll!ULinkerLoad::CreateExport() (0x00007fffa5272d30) + 11 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3046]
UE4Editor-CoreUObject.dll!ULinkerLoad::IndexToObject() (0x00007fffa528eb54) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3425]
UE4Editor-CoreUObject.dll!ULinkerLoad::CreateExport() (0x00007fffa5272d30) + 11 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3046]
UE4Editor-CoreUObject.dll!ULinkerLoad::LoadAllObjects() (0x00007fffa52909c2) + 10 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2518]
UE4Editor-CoreUObject.dll!LoadPackage() (0x00007fffa52ecb9f) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:831]
UE4Editor-CoreUObject.dll!ResolveName() (0x00007fffa52f87bb) + 63 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:572]
UE4Editor-CoreUObject.dll!StaticLoadObject() (0x00007fffa5307144) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:659]
UE4Editor-ContentBrowser.dll!FAssetData::GetAsset() (0x00007fff90034a17) + 62 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\assetregistry\public\assetdata.h:178]
UE4Editor-ContentBrowser.dll!SContentBrowser::OnAssetsActivated() (0x00007fff9008bec2) + 65 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\contentbrowser\private\scontentbrowser.cpp:1340]
UE4Editor-ContentBrowser.dll!TBaseSPMethodDelegateInstance_TwoParams const & __ptr64,enum EAssetTypeActivationMethod::Type,0>::Execute() (0x00007fff90018163) + 18 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\public\delegates\delegateinstancesimpl.inl:161]
UE4Editor-ContentBrowser.dll!TBaseSPMethodDelegateInstance_TwoParams const & __ptr64,enum EAssetTypeActivationMethod::Type,0>::ExecuteIfSafe() (0x00007fff90021d08) + 15 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\public\delegates\delegateinstancesimpl.inl:171]
UE4Editor-ContentBrowser.dll!SAssetView::OnListMouseButtonDoubleClick() (0x00007fff90097e04) + 43 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\editor\contentbrowser\private\sassetview.cpp:3125]
UE4Editor-ContentBrowser.dll!TBaseSPMethodDelegateInstance_OneParam,0>::Execute() (0x00007fff900114b6) + 41 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\public\delegates\delegateinstancesimpl.inl:161]
UE4Editor-ContentBrowser.dll!TBaseSPMethodDelegateInstance_OneParam,0>::ExecuteIfSafe() (0x00007fff9001fd6b) + 38 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\public\delegates\delegateinstancesimpl.inl:171]
UE4Editor-ContentBrowser.dll!TBaseDelegate_OneParam >::ExecuteIfBound() (0x00007fff9001d456) + 38 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:1072]
UE4Editor-ContentBrowser.dll!SListView >::Private_OnItemDoubleClicked() (0x00007fff900acabf) + 41 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\slate\public\widgets\views\slistview.h:687]
UE4Editor-ContentBrowser.dll!STableRow >::OnMouseButtonDoubleClick() (0x00007fff9009804f) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\slate\public\widgets\views\stablerow.h:180]
UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonDoubleClickEvent() (0x00007fffa08cd705) + 30 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3436]
UE4Editor-Slate.dll!FSlateApplication::OnMouseDoubleClick() (0x00007fffa08bb36b) + 19 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3413]
UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage() (0x00007fffa0eb9aac) + 32 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\private\windows\windowsapplication.cpp:1288]
UE4Editor-Core.dll!FWindowsApplication::DeferMessage() (0x00007fffa0ea60db) + 74 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\private\windows\windowsapplication.cpp:1637]
UE4Editor-Core.dll!FWindowsApplication::ProcessMessage() (0x00007fffa0ebadb9) + 41 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\private\windows\windowsapplication.cpp:737]
UE4Editor-Core.dll!FWindowsApplication::AppWndProc() (0x00007fffa0ea2a22) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\private\windows\windowsapplication.cpp:599]
USER32.dll!UnknownFunction (0x00007fffbdec2434) + 0 bytes [UnknownFile:0]
USER32.dll!UnknownFunction (0x00007fffbdec2297) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages() (0x00007fffa0ebb276) + 48 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:757]
UE4Editor.exe!FEngineLoop::Tick() (0x00007ff71354b082) + 8 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\launch\private\launchengineloop.cpp:2111]
UE4Editor.exe!GuardedMain() (0x00007ff713540c3e) + 0 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\launch\private\launch.cpp:133]
UE4Editor.exe!GuardedMainWrapper() (0x00007ff713540caa) + 5 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\launch\private\windows\launchwindows.cpp:125]
UE4Editor.exe!WinMain() (0x00007ff71354c859) + 17 bytes [d:\unreal engine 4\source\unrealengine-4.5.0-release\engine\source\runtime\launch\private\windows\launchwindows.cpp:201]
UE4Editor.exe!__tmainCRTStartup() (0x00007ff71354d789) + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
KERNEL32.DLL!UnknownFunction (0x00007fffbc8b16ad) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007fffbe664409) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007fffbe664409) + 0 bytes [UnknownFile:0]

Hey MC Stryker,

I’m sorry to hear 4.5 did not fix issue for you. Unfortunately, while we have blocked a lot of cyclic dependency load issues, there are some cases we won’t have fixed until a linker rewrite and yours may be one of those cases. If you’re able to locate cyclic dependency and remove it, that should fix issue for you. It sounded like you saw a dependency between level and a Blueprint that isn’t currently being used, but both use a BP Interface? I would first try eliminating that connection (try removing interface from that BP).

developers are continuing to work towards removing all circular dependency issues, but this will take some time. Thanks for your patience.

Ouch lol, I’ve had that luck lately that had me falling into a lot of traps with circular dependencies in BPs. Thanks , I’ve been working out a lot of these issues with team for past couple of months. I love team and engine and want to help you guys out in any way I can to nail out these bugs. I’m working on another issue with Jonathan Dorman so I’ll ping pong between issues and try to do some testing to see if what you mentioned works. As a side note and it might not be related, but I do randomly see a lot of errors from editor complaining that it failed to import a given interface function.

funny thing is that I started using interfaces to avoid calling CastTo on a non-native type to avoid these circular dependencies but seems they are almost around every corner I turn no matter what I do lol. Anyways, I’ll try a couple of things but one thing I’d love to see in future is for Blueprints to be able to output some sort of script or XML that can be reimported in case of corrupted BPs so that you can avoid potentially loosing work in these cases.

Maybe a menu option in BPs would be to import functionality from an outputted script from a previous BP or to merge functionality from other BPs. Maybe import option would open a box to paste either full script or a BP function definition let’s say and that way, if a BP goes down for count or has to be re-created, it would make it easier to re-compose them and to avoid any loss of work. I know team was working on something similar to this I believe and this would be pro and give me and others some piece of mind when relying on BPs classes just in case this happens.

Anyways, I’ll try those things you mentioned and get back to you shortly with an update. Take care bud.

BTW … I may be open to sending over these files. They are from an unreleased title but we could do it through PM. I guess I’d also have to send you my title screen with all objects there but if we could do it confidentially, it would possibly help team to find cause directly. Let me know if you want to do that .

I’ll check with devs to see if that would be useful to them, though I think they already know where problems lay and are now trying to fix them. I’ll let you know what they say. Thanks!

I’ll also take a look and see if I can enter a feature request for your suggestions. Currently, you can copy all of nodes in a BP and paste it into a text editor like notepad, and you can also copy that into another BP to recreate node layout. Obviously you would need to replace certain references and recreate variables, but it’s a good way to transfer and save working functionality. I’m unaware of any efforts to implement an import/export feature currently, but it’s possible I just haven’t heard of it yet. I’ll look into it and if there isn’t anything, I’ll open up a feature request for a more robust system.

Oh wow, I didn’t know you could do that (copy to clipboard and paste in notepad). Well if that’s already in place, having additional bit I mentioned to manage that would be great! Also, having auto-saves of Blueprints in text format would also be a perfect idea. Just in case let’s say a BP gets corrupt, you could always see guts of BP and copy that over into a brand new one. And to take it one step further , if let’s say at point editor would normally crash, it could catch exception and inform user that you have a corrupt BP, and would you like to either choose a previous backup or to have editor re-compose file automatically which is probably more ideal. It would basically look at most recent BP text backup and take that script, create a new BP from that with a temp name, fix all references and redirectors and point them to that new BP with temp name, delete old one, and then finally rename temp name to original name so it appears as if nothing happened and everything has same name. But I’ll start doing text backups of my BPs and for time being, that’ll give me piece of mind. Thanks for heads up on that and let me know if team already knows where issues lie. Thanks again.

Okay , I am digging into issue now and have some feedback I just pulled from output log. BTW… there is a serious issue when you try to copy text from output log that gets it to crash. I’ve posted this over at this link (Editor Freezing When Launch Fails After Having Log Window Open - Pipeline & Plugins - Epic Developer Community Forums)

Back to issue… every time I start editor fresh I have interface, my custom GameInstance BP and my GraphicsMenu BP (that calls into interface), have Red Compile Failure Icon and I decided to check output log.

LogBlueprint:Error: [compiler] Error Invalid property ‘Graphics’ structure ‘GraphicsSettings’ error: Struct ‘UserDefinedStruct /Game/Core/Data/Settings/GraphicsSettings.GraphicsSettings’ is empty
LogBlueprint:Error: [compiler] Error Failed to create property Graphics from Graphics due to a bad or unknown type (Graphics Settings Structure)
LogBlueprint:Warning: [compiler] Warning [0051.49] Compile of GameInstanceInterface failed. 2 Fatal Issue(s) 0 Warning(s) [in 0 ms]
LogBlueprint:Error: [compiler] Error No input structure to break for Graphics Settings
LogBlueprint:Warning: [compiler] Warning [0051.81] Compile of GraphicsMenu failed. 1 Fatal Issue(s) 0 Warning(s) [in 65 ms]
LogClass:Warning: Type mismatch in CallFunc_Array_Get_Item of GraphicsMenu_C - Previous (StructProperty) Current(ObjectProperty) for package: FObjectReader
LogEditorServer: Finished looking for orphan Actors (0.000 secs)

It doesn’t like my custom structure. I remember before when I had issues with GameInstance class, it also had a custom struct in it. I’ll take a look at struct but looks like this is causing madness potentially.

EDIT: But then again, it’s not cause for dependency issue but because it’s having an issue with struct, it could be why it’s crashing because of it. I’ll check it out though. Thanks