To begin with. I know exactly what is causing this, so that’s not the problem. The problem, that there is issues in first place.
private:
UPROPERTY(EditAnywhere, BlueprintReadOnly, Instanced)
class UUserWidget* MasterWidget;
This is considered to be component, and it will fail to compile
public:
UPROPERTY(EditAnywhere, BlueprintReadOnly, Instanced)
class UUserWidget* MasterWidget;
This is considered instanced property member of class which can be inline set in blueprint defaults or details.
Now I need explanation. How does it less confusing than TSubobjectPtr ?