Blueprint compilation sets pointer array property to None


I have a Blueprint that inherits a C++ class. I added a property to the C++ class the following way:

UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<URABuildableObject*> Toolbar;

In the Blueprint inherited class I add an item to the array and fill it with a Blueprint class that inherits from a C++ class defined in the following way:

UCLASS(BlueprintType, Blueprintable, EditInlineNew, DefaultToInstanced)
class REVERSEASSEMBLY_API URABuildableObject : public UObject

It is set to DefaultToInstanced as you can see.

Everytime I compile the inherited Blueprint class that has the array property the values in the editor always reset to ‘None’.

Before compilation

After compilation


Is there any workaround for this? What am i missing can you plaese advise?



Have you edited the array on an instance, or are the default values you’ve set in the blueprint editor disappearing? Have you tried adding Instanced to the UPROPERTY declaration?

In my experience EditInlineNew and Instanced objects have a bunch of annoying engine bugs.


I encountered the same problem with the following class specifier:

UCLASS(DefaultToInstanced, EditInlineNew, Abstract)

I could resolve the issue through a clean re-build. Therefore I deleted intermediates etc. by executing the following script in the solution folder:

echo 'Cleaning'
powershell.exe -NoExit -ExecutionPolicy -Bypass -Command "ls -Recurse -Include Build, Intermediate, Binaries, Saved, .vs -Exclude Saved/Config/Windows | rmdir -Force -Recurse"