- Create a new code project.
- Add a new code class to the project that derives from UObject.
- Add the following UCLASS specifiers to the class: Blueprintable, EditInlineNew, DefaultToInstanced, CollapseCategories
- Under a public access specifier, add an EditAnywhere UPROPERTY of any basic type (eg. FString).
- Add a UPROPERTY that is a TArray of pointers to the class containing this property. Use the EditAnywhere, Instanced UPROPERTY specifiers.
- Build the project in Visual Studio.
- Open the project in the Editor.
- Create a new Blueprint that derives from the code class created in step 2.
- Add an element to the array created in step 5 and set the type to the class from step 2.
- Add an element to the array in the subobject that was just created and set the type to the class from step 2.
- Set different values for the property created in step 4 for each of the base Blueprint, the first subobject (in the Blueprint's array), and the second subobject (in the first subobject's array).
- Compile and save the Blueprint.
- Create a child Blueprint that derives from the Blueprint created in step 8.
- Open the child Blueprint.
- Note that the properties created in step 4 match the values that were set in the parent Blueprint.
- Close the Child Blueprint.
- Open the parent Blueprint.
- Change the value of the property of the nested-most instance (ie. the instance inside the first subobject's array).
- Compile and save the Blueprint.
- Close the parent Blueprint.
- Open the child Blueprint.
RESULT:
The default value for the nested-most property in the child Blueprint does not match the new value set in the parent Blueprint's nested-most property.
EXPECTED:
The default value for the nested-most property in the child Blueprint matches the new value set in the parent Blueprint's nested-most property.