Corrupted Array after Engine Update to 4.15.1

After updating my project from 4.14.3 to 4.15.1 there was an array of strings that was corrupted and started experiencing strange behaviour.

I have a string array in a scene component that once populated with a default value(blueprint editor), viewing/editing it in the world outliner becomes impossible. Also, the arrays contents are reset to zero if the engine is closed and re opened.
The only fix I have found to work is renaming any corrupted variables exhibiting the same behaviour.
Another note to make is this variable is only corrupted if my scene component was derived from a specific class. Other scene components containing the same variable but with one more level of inheritance did not corrupt.

Recreation Steps and Screenshots:

  1. Open the blueprint editor containing
    a scene component that contains this
    array.
  2. Add an Element to the array and assign a string to it. Compile and Save.

  1. Add this blueprint to your Map ( or it could already exist) and view the Scene component through the details panel

  2. The array is now displayed grayed out and will not show the default value assigned or allow editing.

133619-world+outliner+view+of+array.png

  1. At this point if the engine is closed and re opened any elements added to the array in the blueprint editor are erased and the array returns to zero but can not be edited through the world outliner.

133620-array+values+after+rebooting+engine.png

Here is the same variable being used in a different scene component (both are in the same actor blueprint, except this one has one more level of inheritance) but the array is not corrupted.

133631-same+array+with+values+assigned+but+different+inheritance..png

System Configuration:

Hi Cbarba,

I attempted to reproduce this but I was unable to get your results. Here is what I did:

  1. Create a new blank project

  2. Added a Scene Component class bp & open it

  3. Add a String variable > Make it an array > Make it editable

  4. Compile > Add Element > Add default value

  5. Compile > Save > Close it

  6. Create an actor class BP & open it

  7. Add the Scene Component

  8. Compile & save

  9. Add actor blueprint to the level

  10. Select it in the World Outliner and edit the array element in the Details panel

  11. Save all > Close the editor > Reopen the project

  12. Select the actor in the World Outliner > Look at the string array value

Results: Sting value is editable and contains the previously edited value.

Is there anything I’m missing here? In your description you mention upgrading from 4.14 to 4.15, but your steps didn’t mention this. Is it required to reproduce the bug?

Hi TJ, Yes the issue arose after I converted the project. I can’t guarantee that this will reproduce it though. Not mentioning it in the steps was my mistake.
I can confirm the solution I mentioned, renaming the array and compiling, has fixed the issue for me. In the case that you can not reproduce it, hopefully this will help anyone who does run into the bug. Thank You!

I at least wanted to attempt a repro after converting, but I still was unable to get the issue.

But this sounds good. I’m going to resolve the post for tracking purposes for now and hopefully if other users get this issue they will provide more info here.

Thanks,

TJ