Object nodes in Level BP become invalid after BP is edited

Hi,

Just noticed that Actor reference nodes from the persistent level that are in the Level Blueprintg become invalid after the BP is edited.
To reproduce:

  • Create a BP, based on actor
  • Add a function called “DoStuff” to the BP
  • Drag an instance of the BP into the level
  • Open the Level Blueprint
  • Drag the BP actor from the world outliner into the level BP
  • Pull out from the reference node and add a function call node to the “Do Stuff” function fom above
  • Connect the function call to the BeginPlay node
  • Start the game. You will notice that everything works as expected
  • Now add another variable to the actor BP. Compile and Save
  • Start the game. You will notice that the reference in the Level BP will be set to “none”, and DoStuff is no longer called.
  • Delete the reference node from the level BP
  • Drag it in again from the world outliner and reconnect it
  • Everything works fine again until the next change to the actor BP

Cheers,
Klaus

Thanks for your detailed bug report - this has been fixed in the release branch and will be part of the next release!

Edit: for reference, the fix is CL#3545592.

Hello ,

I was able to reproduce this issue on our end. I have written up a report and I have submitted it to the developers for further consideration. I have provided a link to the public tracker. Please feel free to use the link provided for future updates.

Link: Unreal Engine Issues and Bug Tracker (UE-47451)

Make it a great day

A workaround that I’m able to do here is to just save the level again every time the BP is saved, instead of having to recreate the reference node every time. See if that works for you.