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.
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.
Head over to the existing Questions & Answers thread and let us know what's up.
80 |
Component | UE - Foundation - Cpp Tools - Hot Reload |
---|---|
Affects Versions | 4.9.1 |
Created | Sep 28, 2015 |
---|---|
Resolved | Aug 18, 2021 |
Updated | May 4, 2023 |