I agree this would be really nice, I’ve thought myself that it rather sucks to have the raw indices shown in cases where the array is set up at design time.
I have some experience with the workings of UE4’s property system, and having had a think about how this might be implemented, I’ve unfortunately come to the conclusion that it would actually be really, really hard.
The thing is, where is the label data stored? You’d need to store it per instance of your class, since each instance has it’s own array, potentially of different size. But you can’t really embed it into the data, since the property is implemented as a templated TArray, and enforcing all arrays to be TArray< FLabeledWrapper< T > > is not feasible.
So then you’re left with storing the labels in some centralized repository, which would be cool because then it’s super easy to drop this stuff for non-editor builds. Only then you have to associate each label with a particular array element in a particular instance of your class. Doable, using some kind of property path, but then trying to maintain it whenever an array element is added or removed would be a bit of a nightmare.
Of course I might be missing something, but I think this is actually a much harder feature to add than it seems.