[4.5.1] Blueprints fail to load structure arrays upon project load

Build: Binary, 4.5.1

Description:
If you create a custom blueprint structure, then add an array of those structures to another blueprint, it will ‘disappear’ next time you load your project. In blueprint housing structure array, if you add a new variable structure array will then re-appear. Attempting to edit any blueprints making reference to those structures before you’ve manually fixed it will cause compile errors.

Repro:

  1. Create a new blank project, and within it create a blueprint structure. Add at least one property to it.
  2. Create a second blueprint derived from Actor, and within it create a new variable of previous structure type. Set it as an array.
  3. Save project, then close it.
  4. Re-open project, and open actor-derived blueprint. Note that variable for array of custom structures is missing, and compile button is reporting an error.
  5. Press ‘Add Variable’ button. Notice that structure array re-appears along with new variable.
  6. Delete new variable and save/compile.

Notes:
This happens every time you open project, and is highly irritating, especially first time you encounter it.

Hi Chambered,

I followed your repro steps and did not get same error. Are there any steps you might have missed in your description? When you say it disappears, is that from My Blueprint panel or from Event Graph? Does this happen in any new project you create?

Hmm, all steps seem to be there - this happens in any project including new empty ones. I repro’d it a few times this way before filling out bug report. It disappears from ‘My Blueprint’ panel, and any other blueprints that reference that array also report it as missing after you open them.

I also get some warnings on all projects, including empty ones - like 'LogUObjectGlobals:Warning: Failed to find object ‘Class None.’ warning I’ve seen others report here. Perhaps it’s a symptom to another problem - if you’re not able to reproduce it this way.

Actually I may not have been clear in step 1/2 - structure array should be empty. Don’t add any default items to it - if you add default items it works as expected. In my case I’m dynamically filling them - so it’s an empty array in actor blueprint.

Hi Chambered,

I was able to reproduce this following your steps if I did not compile blueprint with UserDefinedStruct variable before closing project. Upon reopening project, that variable was indeed missing from My Blueprints panel. It does not appear to matter if it is an array, but compiling blueprint before closing project first time seems to solve problem for me. Even if you didn’t, using variable in blueprint’s Event Graph seems to retain its information when reopening project next time. Hope that helps for now.

I have entered a bug report in our system for our developers to look at (UE-5559), and I will let you know when I see an update on it. Thanks for your report!

Thanks ! I can confirm I see same behavior if saving and manually compiling before closing project. It’s important to note that auto-compile when using Play-In-Editor does not appear to prevent this issue, you have to manually click compile icon before using PIE or closing editor.

Hey Chambered,

I just got confirmation that this bug has been fixed and should work correctly in a future version of engine, probably 4.7. Thanks again!