How can I make my custom struct have fields editable within an array in the Details panel?

I’m trying to make a custom struct, and have an array of them as a field in a blueprint class. When I select that blueprint class in the main editor, I’d like to be able to edit the fields in the structs within the array from the Details panel. This is what I see right now:

122494-details.png

Here is my code for the struct so far:

USTRUCT(BlueprintType)
struct FFABRIKSegment {
  GENERATED_USTRUCT_BODY()
public:
  UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Fields")
  float y_lower_limit_;
    
  UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Fields")
  float y_upper_limit_;
    
  UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Fields")
  float z_lower_limit_;
    
  UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Fields")
  float z_upper_limit_;
    
  UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Fields")
  float length_;
    
  FFABRIKSegment() : y_lower_limit_(1), y_upper_limit_(1), z_lower_limit_(1), z_upper_limit_(1), length_(10) {}
    
  FFABRIKSegment(float y_lower_limit, float y_upper_limit, float z_lower_limit, float z_upper_limit, float length) :
      y_lower_limit_(y_lower_limit), y_upper_limit_(y_upper_limit), z_lower_limit_(z_lower_limit), z_upper_limit_(z_upper_limit), length_(length) {}
};

I added a field to my class typed as one of the structs, but not as an array, and now the array works. If I delete the single field the array still works.

What a weird bug. Thanks, this would have cost me hours!

WOOOOOOOW!!!, thanks man

Thank you to rubijx and donsaddio because when I saw the answer was 3 years old I thought “this can’t still be broken and require this absurd fix”… sadly yes it does and donsaadio posting just 8 days ago to say thank you actually helped me :slight_smile:

Note, I also had my struct properties marked as BlueprintReadWrite but they also needed EditAnywhere. When I tried this before fixing that it didn’t help.