Description

If a user creates a C++ class that contains a struct and references that struct within a blueprint, making any changes to the struct within C++ header file will prevent the user from saving the blueprint after hot reloading, giving the error:

"Graph is linked to private object(s) in an external package.
External Object(s):
HOTRELOADED_assetname_0
\Engine\Transient"

Attempting to find the chain of references returns null results. Additionally, the struct reference within the blueprint changes variable type to HOTRELOADED ASSETNAME 0.

Steps to Reproduce

1. Download project at attached link:

[Link Removed]

2. Unzip and open project
3. Open c++ class "Stuff"
4. Open blueprint "stufftester"
5. In C++ class "Stuff.h", add this set of code to project in the struct Fstufftest body:

UPROPERTY (VisibleAnywhere, Category = "Stuff")
float testfloat;

6. RMB MyProject>Build in VS
7. In editor, return to "Stufftester" (note struct variable disappears)
8. Compile, save blueprint

Results:

Error "Graph is linked to private object(s) in an external package.
External Object(s):
HOTRELOADED_assetname_0
\Engine\Transient" appears

Expected:

Blueprint compiles with no warnings or a warning is given that struct needs to be updated/altered after Hot Reload.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

79
Login to Vote

Won't Fix
CreatedSep 28, 2015
ResolvedAug 18, 2021
UpdatedMay 4, 2023