When attempting to use or edit blueprint A, which references blueprint B, the debugger outputs “Object ‘UserConstructionScript’ isn’t imported, because its outer is a placeholder” and then crashes (c++ check/assert) in ULinkerLoad::CreateExport:
How exactly is Blueprint A referencing Blueprint B? Is one blueprint the parent/child of the other? Does Blueprint A have a variable that is of Blueprint B’s type? Do you get the same crash in a new fresh project? If so can you also include the call stack from the crash as well as the log files inside the project’s Saved->Logs folder from when the crash occurred?
Blueprint A’s parent BP has a variable for the class of Blueprint B (bp A is a spawner/factory for the other). The Blueprint B class is set as the default for this variable.
I haven’t been able to reproduce this in a fresh project. Additionally, I have this very same relationship for another set of classes that doesn’t have this same problem (using the same parent ‘spawner’ class).
I’ve attached the crash dump, data, logs, and callstack - please let me know what else I can provide to help
Does Blueprint B have the same parent as A? Also, is there any reference in the event graph or functions of either Blueprint A or its parent to the variable mentioned earlier? If you change the variable to reference a different default do you get the error? What about if you change the variable to reference a different class entirely?
The parent class uses the variable mentioned in the construction script, verifies if it is a non-null class, and then spawns it
It still crashes when I change that variable to something else, but it seems that the reference to Blueprint B still exists (this helped me discover a ‘cast’ node to Blueprint B Actor)
Deleting the cast node stops it from crashing, even if the variable is set to class Blueprint B. I hope this discovery helps!
EDIT: I wanted to mention that placing the Cast back will crash again, and that class B does not know about class A or it’s parent (I believe this rules out cyclic references)
It sounds as though the cast node was creating an erroneous reference to Blueprint B. If you could post a screenshot of your blueprint (including the cast node causing the crash) I will make a report for the crash. For now since you have a workaround, I will be marking this as resolved for tracking purposes as we work to fix the crash itself.