How to set up an array of structs as a property that's editable per instance?

Try:

  1. Adding the EditInlineNew specifier to your desired UCLASS (such as USomeObject)
  2. And then, add the Instanced specifier where you use the UCLASS as a property


// USomeObject definition
UCLASS(EditInlineNew)
class USomeObject : UObject ...

// USomeObject property
USTRUCT(BlueprintType, Blueprintable)
struct FStructType
{
    GENERATED_BODY()      

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Instanced)    
    USomeObject* SomeObject;    
    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    UWidget* SomeWidget;
};