Default value for BP struct within BP struct not set

If I set a certain default value for a struct within another struct, it is reset to “None” and the value is not accepted. Below are detailed steps to reproduce as well as a minimal project.

The bug occurs in 4.18.2, similar bugs I found are marked as fixed.

Steps to reproduce:

  1. Create a BP Class derived from Character, call it “BaseCharacter”.
  2. Create a BP Class derived from BaseCharacter, call it “DerivedCharacter”.
  3. Create a BP struct named “InnerStruct” with a variable of Type “BaseCharacter Class”. Set its default value to “BaseCharacter”.
  4. Create a BP struct named “OuterStruct” with a variable of Type “InnerStruct”.
  5. Open OuterStruct. Change the “InnerStruct” default within OuterStruct to “BaseCharacter”. Save, close and reopen “OuterStruct”.
  6. Default value will be reset to “None” (expected: BaseCharacter).
  7. Setting the default Value to “DerivedCharacter” will work as expected.

See the following project which includes these steps: [Minimal project inner struct default][1]

To verify step 6: The value is actually set to “None” (this is not just a display bug). If you print the default class value, it will contain no value:

Hello Lotodore, Thank you for your sample project and repro steps!

I’ve added this issue to our bug database.