[Solved, sort of][4.7 preview 3 error] Failure To Save Blueprint Function Library - Linked To External Package Engine/Transient

My blueprint saved fine before, so I think this is an error with the 4.7 beta. The error it gives me is as follows:

*Can’t save …/…/…/…/…/…/Users/Kevin/Desktop/Test_Encounter_3/Saved/Autosaves/Game/Blueprints/Battle_Functions_Auto3.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)?*

So, I tried taking out anything that I thought might have been the culprit, but nothing worked. Nothing else online seems to be able to solve this problem. If it would help, I can post a picture of all of my functions in this library, but I believe that this is an error with the 4.7.0 preview. Please resolve this for the official release.

Okay, so I found that if I delete this segment of code:

It allows me to save. Now, this is fine, as I had already come up with a different way to do it, but is there a specific reason why that caused the engine to give an error? This is my “Compare Actor Class” function:

I’m thinking that it’s most likely either some weird error with 4.7.0, or it’s because I’m trying to reference a Mixamo class, which may not be compatible with 4.7 (Note: Everything else I’ve done with the Mixamo classes [i.e. spawn actors and get variables] has worked without a hitch). I don’t think it’s a problem with the branch statements, because I’m pretty sure I’ve used those in another section of code in a function library. Also, I still have the compare actor class function, so I don’t think it can have been that. I believe that it was the references to the Mixamo actors I was passing into the Compare Actor Class function that did it. Can anyone confirm this?

When I get a similar error (in v4.6.1), File → Refresh All Nodes in the Blueprint editor normally fixes things for me.

This issue persists in the official release of 4.7 (binary, as downloaded from the launcher). It seems to be caused whenever a blueprint function library calls another function within the same library during the 4.6.1 → 4.7 conversion.
Steps to reproduce:

  1. Create a new empty project with engine 4.6.1.
  2. Create a new Blueprint Function Library.
  3. Create two functions in the function library, “Foo” and “Bar”.
  4. Make the function “Foo” call the function “Bar”.
  5. Save and close the project.
  6. Convert the project to engine version 4.7.0.
  7. The function library will be unable to save, giving error “Graph is linked to private object(s) in an external package. External Object(s): /Engine/Transient”.
  8. Delete the call to the function “Bar” from the function “Foo”.
  9. The function library will now be able to save.
    See also the attached screenshot for how the library was set up

This is causing us significant issues in our current project, which has some large function libraries with many re-used helper functions.
As per Kernel14’s suggestion, neither “File → Refresh All Nodes” nor refreshing the problem nodes individually resolve the problem in my test case.

This definitely seems to be the case. I’ve been working on a library with a function that calls another function in the library, and I see the same error. Strangely, it only showed up halfway through creating a new function in the same library that doesn’t call another function. But, even if I gut the new function, I still can’t save.

This is a huge problem.

I reported this as a separate issue for 4.7.1, it is known and being fixed. Hopefully we’ll see a solution soon. 4.7.1 Blueprint Function Library unable to save - Blueprint - Epic Developer Community Forums

thanks you saved my day :slight_smile:

glad it helped!