Can't Save Blueprint (Referenced in /Engine/transient) Now crashes on startup!

Hi Epic.

I’m having a variation of This problem, I was getting same message ( one mentioned in original post), and not being able to save blueprint, consistently. problem started after I moved a blueprint (BP_Extractor02) into a subfolder. I’ve done this before and references remain intact thanks to redirectors, but after moving this blueprint, my main player blueprint, which was referencing it, started giving me that error when attempting to save.

I opened reference viewer and saw that it was still trying to reference BP_Extractor02 in its original location, but only place it was referenced in player blueprint was a struct in construction script.

Unfortunately, a make-struct doesn’t seem to have ability to choose directory path, and just shows class (BP_Extractor02 with no indication of where that class is stored), so I had to trust that it was pointing in right direction. All blueprints compiled correctly, but player blueprint still wouldn’t save.

Now editor crashes on startup. Crash report:

MachineId:B78EDE364932DE971544F6A1D5BC2209
EpicAccountId:6086868679774b65b64f001dd89772ce

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

Assertion failed: BlueprintObj->GeneratedClass [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.7\Engine\Source\Editor\UnrealEd\Private\Kismet2\Kismet2.cpp] [Line: 896] 
Invalid generated class for StructureFunctionLibrary

KERNELBASE + 37901 bytes
UE4Editor_Core!FOutputDeviceWindowsError::Serialize() + 292 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor_Core!FOutputDevice::Logf__VA() + 248 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
UE4Editor_Core!FDebug::AssertFailed() + 1079 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:224]
UE4Editor_UnrealEd!FKismetEditorUtilities::RecompileBlueprintBytecode() + 237 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\kismet2\kismet2.cpp:896]
UE4Editor_Engine!UBlueprintGeneratedClass::ConditionalRecompileClass() + 199 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\blueprintgeneratedclass.cpp:247]
UE4Editor_CoreUObject!FScopedClassDependencyGather::~FScopedClassDependencyGather() + 97 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\blueprint\blueprintsupport.cpp:133]
UE4Editor_CoreUObject!ULinkerLoad::CreateExport() + 5855 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3612]
UE4Editor_CoreUObject!ULinkerLoad::IndexToObject() + 152 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3804]
UE4Editor_CoreUObject!ULinkerLoad::CreateExport() + 3505 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3329]
UE4Editor_CoreUObject!ULinkerLoad::CreateExportAndPreload() + 27 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2520]
UE4Editor_CoreUObject!ULinkerLoad::LoadAllObjects() + 603 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2628]
UE4Editor_CoreUObject!LoadPackageInternal() + 2055 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:896]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 1195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2213]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 2153 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2261]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::Verify() + 807 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1768]
UE4Editor_CoreUObject!ULinkerLoad::FinalizeCreation() + 432 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1674]
UE4Editor_CoreUObject!ULinkerLoad::Tick() + 336 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:634]
UE4Editor_CoreUObject!ULinkerLoad::CreateLinker() + 111 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:382]
UE4Editor_CoreUObject!GetPackageLinker() + 2546 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linker.cpp:668]
UE4Editor_CoreUObject!LoadPackageInternal() + 1567 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:833]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 1195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2213]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 2153 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2261]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::Verify() + 807 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1768]
UE4Editor_CoreUObject!ULinkerLoad::FinalizeCreation() + 432 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1674]
UE4Editor_CoreUObject!ULinkerLoad::Tick() + 336 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:634]
UE4Editor_CoreUObject!ULinkerLoad::CreateLinker() + 111 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:382]
UE4Editor_CoreUObject!GetPackageLinker() + 2546 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linker.cpp:668]
UE4Editor_CoreUObject!LoadPackageInternal() + 1567 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:833]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 1195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2213]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 2153 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2261]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::Verify() + 807 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1768]
UE4Editor_CoreUObject!ULinkerLoad::FinalizeCreation() + 432 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1674]
UE4Editor_CoreUObject!ULinkerLoad::Tick() + 336 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:634]
UE4Editor_CoreUObject!ULinkerLoad::CreateLinker() + 111 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:382]
UE4Editor_CoreUObject!GetPackageLinker() + 2546 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linker.cpp:668]
UE4Editor_CoreUObject!LoadPackageInternal() + 1567 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:833]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 1195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2213]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 2153 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2261]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::Verify() + 807 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1768]
UE4Editor_CoreUObject!ULinkerLoad::FinalizeCreation() + 432 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1674]
UE4Editor_CoreUObject!ULinkerLoad::Tick() + 336 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:634]
UE4Editor_CoreUObject!ULinkerLoad::CreateLinker() + 111 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:382]
UE4Editor_CoreUObject!GetPackageLinker() + 2546 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linker.cpp:668]
UE4Editor_CoreUObject!LoadPackageInternal() + 1567 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:833]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 1195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2213]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImportInner() + 2153 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:2261]
UE4Editor_CoreUObject!ULinkerLoad::VerifyImport() + 195 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1978]
UE4Editor_CoreUObject!ULinkerLoad::Verify() + 807 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1768]
UE4Editor_CoreUObject!ULinkerLoad::FinalizeCreation() + 432 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:1674]
UE4Editor_CoreUObject!ULinkerLoad::Tick() + 336 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:634]
UE4Editor_CoreUObject!ULinkerLoad::CreateLinker() + 111 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:382]
UE4Editor_CoreUObject!GetPackageLinker() + 2546 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\linker.cpp:668]
UE4Editor_CoreUObject!LoadPackageInternal() + 1567 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:833]
UE4Editor_UnrealEd!UEditorEngine::Map_Load() + 5034 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\editorserver.cpp:2245]
UE4Editor_UnrealEd!UEditorEngine::HandleMapCommand() + 349 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\editorserver.cpp:5680]
UE4Editor_UnrealEd!UEditorEngine::Exec() + 797 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\editorserver.cpp:5180]
UE4Editor_UnrealEd!UUnrealEdEngine::Exec() + 273 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\unrealedsrv.cpp:742]
UE4Editor_UnrealEd!FEditorFileUtils::LoadMap() + 789 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\filehelpers.cpp:1910]
UE4Editor_UnrealEd!FEditorFileUtils::LoadDefaultMapAtStartup() + 216 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\filehelpers.cpp:3070]
UE4Editor_UnrealEd!FUnrealEdMisc::OnInit() + 2263 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\unrealedmisc.cpp:299]
UE4Editor_UnrealEd!EditorInit() + 3254 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\unrealed.cpp:86]
UE4Editor!GuardedMain() + 926 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launch.cpp:133]
UE4Editor!GuardedMainWrapper() + 26 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() + 249 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor!__tmainCRTStartup() + 329 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]

If I can get editor opening again, I may be able to fix “transient” problem, as other post referenced.

Please help!

Can you post your crash logs here so I can take a look? Additionally, go into your windows filepath and manually move file back to its original position. See if this will allow you to open project so you can manually alter struct.

Here you go

And I got asset wrong. it was BP_CapacitorBank02. Moving it back to original location still results in a crash. log says “invalid generated class for ScructureFunctionLib”. I remember I did do something to a funcion in that library - I made it a pure function, as I thought that was what was messing it up before.

I think root cause of problem was that I copy-pasted some nodes from one blueprint to another, and everything after that was in effort to fix it.

Sorry for confusion

If you are comfortable with it, would you mind sharing your project with me? I have an idea of what may be going on and would like to confirm it. Thank you!

I’ll get a copy of it zipped up soon. Is Dropbox OK?

Hi ,

Dropbox would be fine. You can send a link via PM on forums, or you can post link here. Thanks!

I’ve sent you a PM with link, . Thanks so much for looking into this!

Hi ,

I’ve responded to your PM and believe I found a solution to your specific error. I’m entering bug report for this crash now.

Hi ,

I entered a bug report, UE-12028 to be assessed by development staff. It seems that what is occurring is when an object that is used as a class type within a struct is move, redirector is not being picked up by struct. struct then replaces data type that it cannot find with type “class”, which cannot be read, causing a crash. As a workaround for users experiencing this, please remove your maps folder so you can get into your project. From there, open your struct and manually reset class data type to your intended data type. This will halt crashes and you can re-add your maps to continue working normally.

Thanks ! Being able to open project again is a big relief, but unfortunately I’m stuck with original problem. Screenshots attached.

34624-issue01.png

I’ve searched for mentions of “transient” but can’t find anything. It’s baffling!

Try re-creating struct information in your ship blueprint, as this seems to be primary location that is seeing error. It may simply not be picking up redirect change, in which case re-referencing might be able to fix error.

Sorry it took a while to get back to you. I’m not a full-time game developer yet.

re-inputting classes into struct and re-creating struct information in construction script had no effect on problem. I even tried removing it from ship blueprint entirely and it still wouldn’t save.

Can you send me an updated copy of project so I can do a few tests on my end?

I was able to reproduce this and have entered a bug report, UE-12585 to be assessed by development staff. As a workaround, before trying to save your blueprint, go into your function library and disconnect then reconnect a variable from output node (I’ve been testing using your boolean value). You will have to do this each time you reload editor and attempt to save blueprint.

I am not certain what is causing error though I have narrowed it down to interaction between your ship blueprint and function library. If you do not need function library at present, deleting three functions from your function library you have near top of your event graph in ship blueprint should allow you to continue without these errors occurring at all.

Thanks again !

I just tried what you suggested, and (weirdly) it works! Now I can get back to business! Cheers!

For whatever its worth:

I’ve struggled with this bug and lost my work multiple times. My problem was manifesting randomly after moving some assets around. Even after fixing up redirectors and restarting editor it would randomly fail to save.

solution in my case was to:

  1. open BP that was failing to save
  2. From top menu do File->Refresh all nodes
  3. Done

After losing my work N amount of times I am finally able to save it. I hope this helps someone.

Awesome!! Your solution works for me!! Thank you sooooo much!!!

This same error (getting Engine/Transient messages) can occur if you duplicate an “Inherited” component in a blueprint class (which originated in C++ code) from blueprint editor.