Blueprint reference bugged out

I am moving this from another previous issue which is semi-relevant.

Apparently a few of my blueprint starts to behave strangely. I causes me the blueprint to

  • be unable to do ‘Replace Reference’ ( Consolidate Asset ) with them,
  • Unable to use Any Blueprint library, I suspect this is due to them being forced to be loaded first before the library.

Firstly I get an error saying this.

The assets below were in the root set and we must remove that flag in order to proceed.  Being in the root set means that this was loaded at startup and is meant to remain in memory during gameplay.  For most assets this should be fine.  If, for some reason, there is an error, you will be notified.  Would you like to remove this flag?

Upon pressing Yes. I am given another list of error.

Blueprint /Game/PC_Blueprints/Characters/BP_BaseInfantry.BP_BaseInfantry is in use.

---
Running the editor with '-NoLoadStartupPackages' may help if the object is loaded at startup.
---


External referencers of Blueprint /Game/PC_Blueprints/Characters/BP_BaseInfantry.BP_BaseInfantry:
   BlueprintFunctionNodeSpawner /Engine/Transient.BlueprintFunctionNodeSpawner_2448 (2)
      0) None
      1) [[native reference]]
   BlueprintFunctionNodeSpawner /Engine/Transient.BlueprintFunctionNodeSpawner_2449 (2)
      0) None
      1) [[native reference]]
   BlueprintEventNodeSpawner /Engine/Transient.BlueprintEventNodeSpawner_641 (2)
      0) None
      1) [[native reference]]
   BlueprintFunctionNodeSpawner /Engine/Transient.BlueprintFunctionNodeSpawner_2450 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5022 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5023 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5024 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5025 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5026 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5027 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5028 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5029 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5030 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5031 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5032 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5033 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5034 (2)
      0) None
      1) [[native reference]]
   BlueprintVariableNodeSpawner /Engine/Transient.BlueprintVariableNodeSpawner_5035 (2)
      0) None
      1) [[native reference]]
   BlueprintGeneratedClass /Game/PC_Blueprints/Characters/BP_PlayerChar.BP_PlayerChar_C (11)
      0) None
      1) [[native reference]]
      2) [[native reference]]
      3) [[native reference]]
      4) [[native reference]]
      5) [[native reference]]
      6) [[native reference]]
      7) [[native reference]]
      8) [[native reference]]
      9) [[native reference]]
      10) [[native reference]]
   BlueprintGeneratedClass /Game/PC_Blueprints/Characters/BP_InfantryPawn.BP_InfantryPawn_C (11)
      0) None
      1) [[native reference]]
      2) [[native reference]]
      3) [[native reference]]
      4) [[native reference]]
      5) [[native reference]]
      6) [[native reference]]
      7) [[native reference]]
      8) [[native reference]]
      9) [[native reference]]
      10) [[native reference]]
   BlueprintGeneratedClass /Game/PC_Blueprints/Characters/BP_AIBaseChar_Infantry.BP_AIBaseChar_Infantry_C (11)
      0) None
      1) [[native reference]]
      2) [[native reference]]
      3) [[native reference]]
      4) [[native reference]]
      5) [[native reference]]
      6) [[native reference]]
      7) [[native reference]]
      8) [[native reference]]
      9) [[native reference]]
      10) [[native reference]]
   BlueprintGeneratedClass /Game/PC_Blueprints/Characters/BP_AIBaseChar_Infantry.SKEL_BP_AIBaseChar_Infantry_C (11)
      0) None
      1) [[native reference]]
      2) [[native reference]]
      3) [[native reference]]
      4) [[native reference]]
      5) [[native reference]]
      6) [[native reference]]
      7) [[native reference]]
      8) [[native reference]]
      9) [[native reference]]
      10) [[native reference]]
   BlueprintGeneratedClass /Game/PC_Blueprints/Characters/BP_InfantryPawn.SKEL_BP_InfantryPawn_C (11)
      0) None
      1) [[native reference]]
      2) [[native reference]]
      3) [[native reference]]
      4) [[native reference]]
      5) [[native reference]]
      6) [[native reference]]
      7) [[native reference]]
      8) [[native reference]]
      9) [[native reference]]
      10) [[native reference]]
   BlueprintGeneratedClass /Game/PC_Blueprints/Characters/BP_PlayerChar.SKEL_BP_PlayerChar_C (11)
      0) None
      1) [[native reference]]
      2) [[native reference]]
      3) [[native reference]]
      4) [[native reference]]
      5) [[native reference]]
      6) [[native reference]]
      7) [[native reference]]
      8) [[native reference]]
      9) [[native reference]]
      10) [[native reference]]
   Function /Game/PC_Blueprints/Characters/BP_PlayerChar.BP_PlayerChar_C:UserConstructionScript (2)
      0) None
      1) [[native reference]]
   Function /Game/PC_Blueprints/AI/BP_AIControllerInfantry.BP_AIControllerInfantry_C:ExecuteUbergraph_BP_AIControllerInfantry (1)
      0) None
   Function /Game/PC_Blueprints/AI/BP_AIThreatObject.BP_AIThreatObject_C:TryToAddActor to ThreatGroup (2)
      0) None
      1) [[native reference]]
   Function /Game/PC_Blueprints/AI/BP_AIThreatObject.BP_AIThreatObject_C:Remove Actor from ThreatGroup (1)
      0) None
   Function /Game/PC_Blueprints/AI/BP_AIThreatObject.BP_AIThreatObject_C:SelfDestructCheck (1)
      0) None
   Function /Game/PC_Blueprints/AI/BP_AIThreatObject.BP_AIThreatObject_C:INIT InitialThreat (1)
      0) None
   Function /Game/PC_Blueprints/AI/BP_CoverZone.BP_CoverZone_C:ExecuteUbergraph_BP_CoverZone (1)
      0) None
   Function /Game/PC_Blueprints/AI/BP_CoverZone.BP_CoverZone_C:DetectNearbyEnemy (1)
      0) None
   Function /Game/PC_Blueprints/AI/BP_CoverZone.BP_CoverZone_C:ProcessNewThreat (1)
      0) None
   Function /Game/PC_Blueprints/Characters/BP_AIBaseChar_Infantry.BP_AIBaseChar_Infantry_C:ExecuteUbergraph_BP_AIBaseChar_Infantry (1)
      0) None
   Function /Game/PC_Blueprints/Characters/BP_AIBaseChar_Infantry.BP_AIBaseChar_Infantry_C:ReceiveBeginPlay (1)
      0) None
   Function /Game/PC_Blueprints/Characters/BP_AIBaseChar_Infantry.BP_AIBaseChar_Infantry_C:UserConstructionScript (2)
      0) None
      1) [[native reference]]
   Function /Game/PC_Blueprints/Characters/BP_AIBaseChar_Infantry.SKEL_BP_AIBaseChar_Infantry_C:ReceiveBeginPlay (1)
      0) None
   Function /Game/PC_Blueprints/Characters/BP_AIBaseChar_Infantry.SKEL_BP_AIBaseChar_Infantry_C:UserConstructionScript (1)
      0) None
   Function /Game/PC_Blueprints/Characters/BP_PlayerChar.SKEL_BP_PlayerChar_C:UserConstructionScript (1)
      0) None

Shortest reachability from root to Blueprint /Game/PC_Blueprints/Characters/BP_BaseInfantry.BP_BaseInfantry:
   Blueprint /Game/PC_Blueprints/Characters/BP_BaseInfantry.BP_BaseInfantry [target] (standalone)

Followed by this error

Can't save ../../../../../../Users/JNJ/Documents/Unreal Projects/ProjectCombine/Saved/Autosaves/Game/PC_Blueprints/Characters/BP_BaseInfantry_Auto1.uasset: Graph is linked to private object(s) in an external package.
External Object(s):
/Engine/Transient
  
Try to find the chain of references to that object (may take some time)?

I would really appreciate if someone can assist me to get to the bottom of this. I’m willing to send anything needed. This issue isn’t new it has been going around for a long time and it’s causing a great deal of trouble.

Old post :

Hey -

From the errors it sounds like the problem is coming from the BP_BaseInfantry asset. If you remove that asset from the contents folder (copy it to the desktop, for example) are you able to open the project normally or do you still see the same error messages?

Hi @DougWilson

  • The project open normally all the time with or without the asset.
  • The blueprint works fine and functions normally when not using any blueprint library. In fact we’ve moved on to using Blueprint Interface instead of blueprint library. The blueprint still works normally.

However, still… the blueprint is unable to do ‘Replace Reference’. The above error only occur when doing replace reference.

I understand there could be a chance the blueprint is corrupted in a strange manner, but the BP works perfectly well in terms of the functions. Hence I’m trying to make a copy and replace the reference, however due to this bug I’m unable to replace reference.

Hey -

If you feel the blueprint may be corrupted then attempting to recreate it is the simplest option. When you say you are unable to replace reference, what exactly are you referring to? The only instance of “Replace Reference” I come across is when replacing instances of one static mesh with another.

I’m referring to this button…
“replace references” a.k.a Consolidate(in UDK )

even if I were to make a copy of the asset, I’m unable to replace reference of it.

Could you post the blueprint assets that are not functioning for you? I tested the “Replace Reference” option with two new blueprints without receiving the error you mentioned.

Also, are you using a C++ code base or is your project entirely blueprints? The mention of “native reference” sounds like there is a blueprint trying to access a C++ code function that is not exposed to blueprints.

Hi ,

I understand replace reference normally work. It doesn’t work on a few of my files. Yes i’m extending them from a C++ code base. But I don’t think it’d referring to a non-exposed , i have no problem with the normal functionalities or compiling the blueprint the error only pop up when attempt to do replace reference.

If you would like to examine the entire project I can migrate all the related files over. Currently i have two confirmed blueprint classes that is working perfectly well ,no runtimes errors, no build errors, no load errors but permanently unable to do replace reference.

Being able to test the files directly would be helpful. Also, if it’s possible for you to recreate the issue in different, new blueprints and walk through the steps to create those blueprints that will help me reproduce this on my machine as well.

I just tried one whole day to re-create the issue. but am not able to re-create them I’ve no idea what causes them to be like this. It’s just that several files , after been worked on for a while becomes like this. Not sure if its cause by extensive use of casting.

If you can provide me with your e-mail, I’ll email you a migrated copy of our project so you test it when you have the time.

Hey -

If you have somewhere you can upload the project to, such as dropbox, then you can send me a message on the forums with the link that I can get it from. Then I can take a look at the files that aren’t working.

Just as a heads up, there are a few known issue with using delegates in 4.6 (your comment of casting leads me to believe that may be the issue) that should be fixed with 4.7. You can try copying your project for the current 4.7 preview and testing there to see if the problem still occurs as well.

Cheers

Hi ,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.

Thank you.

I’m just posting this for reference if anyone found this thread facing similar issue. I apologize for not responding earlier becuase our project is really big with many references including C++ it’s very cumbersome to upload everything. I eventually deleted the class and re-reference everything manually.

FYI,
This issue is still happening in 4.7.2 as of now. I just deleted 2 class that caused this. Both are classes that got carried over from previous version.

If I do encounter this on a smaller project , I will pack up and send right away.

Gathered information on this issue so far :

  • problem is NOT attached to the blueprint but on something referencing it.
  • deleting blueprint and replacing a new one works
  • directly replacing blueprint with a brand new one ( via window explorer ) does not work. because something is still referring to it
  • replace reference ( consolidate ) does not work giving critical error
  • blueprint stays functional

Hi @ ,

I’ve just encountered this issue in a new file. This time i’m packaging it. I’m sending you the package in a pm in the forums.

This issue has been around since 4.0 and I’ve noticed that it has eluded major attention. I’m bringing this up because I’ve noticed the bug manifests itself in many ways , each having their individual bug report thread that goes unsolved or partially solved , I believe the actual issue is because of this transient reference issue, here are some of what it causes;

  • Error in startup compilation,
  • Game to unable to launch in standalone
  • default values being reverted at every startup
  • unable to use replace reference feature ( consolidate )

and worse of all, it’s always been shrugged as a blueprint corruption which I find it mildly unacceptable because there is a cause. If blueprint is truly corrupted it wouldn’t be accessible at all.

Please look at the project file and I do hope someone will take a serious look at it.

[ Information regarding the package ]

Reproducible Steps :

  • Unzip the package in a folder.
  • Double click the uproject, click yes to rebuild
  • Start the project (ignore broken ref ) , browse to \Content\PC_Blueprints\Characters
  • Duplicate ‘BP_PlayerChar’ now you’ll have ‘BP_PlayerChar_copy’
  • Select both and do ‘replace reference’ . When doing this make you select the duplicated PlayerChar ( ‘BP_PlayerChar_copy’ )

You will now see the error. Tested in 4.7.3

Hey -

I was able to reproduce the error messages when attempting to replace references of an actor with another actor that was a child of the first. I have reported this bug (UE-12861) for further investigation.

Cheers

Thank you for looking into this. However I’d just like to add a small detail, I meant to say that you should replace reference using a ‘duplicated’ component and not child. I’m not too sure replace reference to a child component is suppose to work in the first place. However if the error message is the same then you are most likely looking at the same problem.

Looks like i just found out another few classes that is having this issue.

I have noticed that all these classes have one thing in common . They are all using Blutility while I was debugging them. I’m not sure if this had to do with it since it is related to transient.

Hey -

Thanks for the update, I’ll make sure this information is included with the current report

#Sollution

just do a search for the word “transient” in your blueprint that is bugging out, and you should get some hits, any nodes that are returned, delete them and recreate them.

I’ve done this many times to resolve the engine transient bug.

If you are not getting any returns, well duplicate the blueprint and start deletnig stuff until you can save it, and figure out which nodes were causing the transient issue

then just remake those nodes and you should be set :slight_smile:

@ thank you for the response. .

But I can assure you this will not work because I have a few blueprint that i have deleted till it has ZERO nodes. Yet it still has the transient reference. The community generally believe it’s a blueprint corruption ( as such with the case of default variables resetting , component cannot be loaded , etc ) , but I do not believe so. It is something referencing IT , rather than IT referencing something.

Note that searching for the word transient has never produce a result for me. This is a different transient bug than the one happening in the UMG Widget. I can show you a sample scaled down project.

Just a heads up, I am still seeing this same issue in 4.7.6.