Why does the error appear?
DELEGATEs can’t be UPROPERTY, it’s an cpp-only feature. DYNAMIC_DELEGATEs on the other side - can. Thouhg usually they go with UPROPERTY(BlueprintAssignable)
DELEGATE
UPROPERTY
DYNAMIC_DELEGATE
UPROPERTY(BlueprintAssignable)