I get the same error as this: https://answers.unrealengine.com/questions/302157/graph-is-linked-to-private-objects-in-an-external-3.html
When I press cancel on the retry prompt, I get:
EditorErrors:Warning: Warning Can’t save F:/UnrealProjects/4.13/Outpost/Content/Outpost/Core/BP_OutpostGameInstance.uasset: Graph is linked to external private object (unknown culprit) (unknown property ref)
When I copied all nodes and pasted them into a text editor, and searched for “transient” I saw this:
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_1726"
FunctionReference=(MemberParent=Class'/Script/Outpost.OutpostFunctionLibrary',MemberName="SetSoundClassVolume")
NodePosX=1024
NodeGuid=E3777EE340C863C7DA621A8F942FE15D
CustomProperties Pin (PinId=6ED45D7E4E4574AB7FF9879AB3E96097,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_FunctionEntry_318 BC8308B644848CA0319CF18BB166E066,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
CustomProperties Pin (PinId=B176B579428ADD6FBB3E4283E82BC3A5,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_1727 6ED45D7E4E4574AB7FF9879AB3E96097,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
CustomProperties Pin (PinId=1036CF174AED48EFA61CCD9AFCA59580,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nOutpost Function Library Reference",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/Outpost.OutpostFunctionLibrary',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Engine/Transient.BPGC_ARCH_FOR_CDO_OutpostFunctionLibrary_21",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
CustomProperties Pin (PinId=C014826F42393D97A5B293914613325C,PinName="TargetSoundClass",PinToolTip="Target Sound Class\nSound Class Reference",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/Engine.SoundClass',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Game/Outpost/Audio/SoundClasses/Master.Master",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
CustomProperties Pin (PinId=63269950492EDA3EEF2EFBBFC7B9AB25,PinName="NewVolume",PinToolTip="New Volume\nFloat",PinType.PinCategory="float",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",LinkedTo=(K2Node_CallFunction_1720 8E3D97EA40A8AB3611B3AEBCC4B66774,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
End Object
Compare that to the same node before I compiled the c++:
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_1726"
FunctionReference=(MemberParent=Class'/Script/Outpost.OutpostFunctionLibrary',MemberName="SetSoundClassVolume")
NodePosX=1024
NodeGuid=E3777EE340C863C7DA621A8F942FE15D
CustomProperties Pin (PinId=6ED45D7E4E4574AB7FF9879AB3E96097,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_FunctionEntry_318 BC8308B644848CA0319CF18BB166E066,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
CustomProperties Pin (PinId=B176B579428ADD6FBB3E4283E82BC3A5,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_1727 6ED45D7E4E4574AB7FF9879AB3E96097,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
CustomProperties Pin (PinId=1036CF174AED48EFA61CCD9AFCA59580,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nOutpost Function Library Reference",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/Outpost.OutpostFunctionLibrary',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/Outpost.Default__OutpostFunctionLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
CustomProperties Pin (PinId=C014826F42393D97A5B293914613325C,PinName="TargetSoundClass",PinToolTip="Target Sound Class\nSound Class Reference",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/Engine.SoundClass',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Game/Outpost/Audio/SoundClasses/Master.Master",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
CustomProperties Pin (PinId=63269950492EDA3EEF2EFBBFC7B9AB25,PinName="NewVolume",PinToolTip="New Volume\nFloat",PinType.PinCategory="float",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",LinkedTo=(K2Node_CallFunction_1720 8E3D97EA40A8AB3611B3AEBCC4B66774,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
End Object
The formatting makes it hard to see here, but take those two into a text editor in different tabs and flip between the tabs to see the difference. It changes
DefaultObject="/Script/Outpost.Default__OutpostFunctionLibrary"
to
DefaultObject="/Engine/Transient.BPGC_ARCH_FOR_CDO_OutpostFunctionLibrary_21"
This happens for several nodes.
Google gave me no results for what BPGC_ARCH_FOR_CDO is, so that’s why I’m here now. I’m guessing it’s something with Garbage Collecting.
The two options I have at this point is to either restart the editor without saving, in which case those nodes become normal again. Or I can delete them and place them out again, and then I can save the blueprint. The next time I compile the c++ with the editor active, the same thing happens again. Needless to say that this is pretty annoying.
Thankful for any advice!