A number of places in the code rely on raw UProperty pointers to track properties they care about. This can present issues when BPs inherit from other BPs, because the parent's class may be Purged / Regenerated (among other issues). This can leave dangling references to the old properties.
Continuing from the ensure causes the Components Hierarchy View (and likely other things) to become broken (see the attached image).
Seems like [Link Removed] is likely caused by the same (or a similar) issue. E.G. in UClass::Link, we track properties in ClassReps. If any of the properties get deleted after Link is called for whatever reason, it would cause that crash.
EXPECTED:
The Child BP would open with no issues.
ACTUAL:
An ensure is thrown because the bool property in the Parent class is invalid (non-null, but IsValidLowLevel returns false).
*Notes*, Starting from Character and using a Bool property are probably not important. However, doing 2 separate Compile and Save steps on the Parent while not compiling and saving the child is.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-45726 in the post.
2 |
Component | UE - Gameplay - Blueprint Compiler |
---|---|
Affects Versions | 4.16 |
Target Fix | 4.17 |
Created | Jun 6, 2017 |
---|---|
Resolved | Jun 14, 2017 |
Updated | Apr 27, 2018 |