This is not a bug. Consider the following scenario: The Actor is created on level and the EmptyObject is constructed. Then user removes the "Construct" and "Set" nodes (because the Empty object shouldn't be spawned in the constructor anymore). If the value wasn't reset, there would be no way to null the 'hanging' object instance (of course one could make the property editable and then null the value, but this is not a desired workflow)
When running the construction script of an actor blueprint, user-defined variables are reset to NULL each time the script is run.
This seems inconsistent, as if the variables are set to Expose on Spawn and Editable, they keep the values that were set in the construction script.
1. Open the attached project
2. Select the UE4BugTest actor in the level
3. Move it to fire the construction script
4. Check the output log
Result: Notice that before construction, the variable is returning None as expected, as it has not been set. After it checks if the variable is valid, it should populate the variable with an instance of Empty Object. However, after the script runs again, the variable is set back to none instead of containing an instance of empty object.
Expected: The empty object instance that was created and stored in the variable would remain the next time the construction script is run.
Head over to the existingAnswerHub thread and let us know what's up.