I am getting this in 4.13.1
I believe I have a repro. Will test with a clean project if I can find the time.
Here are my repro steps:
-
Make a UObject class and CreateDefaultSubobject that inside an Actor, such as Character. Have it be instanced. Use DefaultToInstanced if you like
-
Make another UObject class and CreateDefaultSubobject inside the UObject class you made in step 1. Have it be instanced. Use DefaultToInstanced if you like
-
Make a EditDefaultsOnly property inside the UObject class in step 2, maybe to an AnimMontage or something
-
Make a blueprint of that Actor in step 1. Set its property that you created in step 3
-
Make a child blueprint from the one you made in step 4. Note that it has inherited the property correctly
-
Save and then Close the editor
-
Open the editor. The property in the child blueprint from step 5 will be zeroed out
-
Also note that instances must rely on GetArchetype() to obtain the correct value of that property that was set by a human in data… at least this was the case with ones that came from a dynamically spawned Actor, such as an NPC that came from a spawner
This pattern is specifically the one we use for our StateMachines, which are UObjects that contain embedded UObject states with EditDefaultsOnly properties