Self-referring public variables reset after compilation. Is this a bug or natural outcome of self-reference in Blueprints?

Step #1: Create a new Actor Blueprint, and rename it to BoxBP.

Step #2: Go to BoxBP Components:

  • Add a billboard.
  • Add a box.

Step #3: Go to BoxBP Event Graph:

  • Add a new variable called “AnotherBox”. Set its type to BoxBP. Make it public.

  • Add a new variable called “NeighbourBoxes”. Set its type to BoxBP. Make the variable an array. Make it public.

  • Compile, and save BoxBP.

Step #4: Go back to Level Editor, and add 4 BoxBP components to the scene.

Step #5: Click on the 4th BoxBP. From the Default panel;

  • Set BoxBP_1 for AnotherBox.
  • Add 2 elements to NeighbourBoxes. Set BoxBP_2 for element 0, and BoxBP_3 for element 1.

Step #6: Go back to BoxBP Event Graph. Just recompile, and save (no editing at all).

Step #7: When you come back to Level Editor, you’ll notice that the variables are all reset to None.

It seems that self-referring variables are reset after compilation.

Question: Is this a bug, or a natural outcome of self-reference in Blueprints?

Kind Regards,