Showing a PropertyTypeCustomization inside another PropertyTypeCustomization

Hi all,

So I have a StructA which contains an TArray Entries;
Struct B contains a FGameplayTag, a float and a StructC.

I wrote a property type customization for my struct A and used the FDetailArrayBuilding to build all the entries of the array manually. This all worked fine.

I also wrote a customization for Struct which worked.

When I went to writing a custom widget for the entries in the array, I grabbed the three properties in the struct, which worked correctly and then using a HorizontalBox, put the Property->CreatePropertyValueWidget inside each slot.

However whilst this worked for the float, for the FGameplayTag and StructC it showed nothing.
I tried instead of a HorizontalBox just displaying one or the other and still nothing showed.
If i instead add the CreatePropertyNameWidget, it shows the variable name of them as expected.

I tried also just using the SProperty widget for each. For the float this showed the header and value row side by side (eg “VarName” [Float Input]). For the other two it just showed the var name with nothing next to it.

If inside the OnGenerateArrayElementWidget bound function I add the property straight to the IDetailChildrenBuilder, it shows up correctly.

It seems like it is not accessing the property customization of any property, where I used CreatePropertyValueWidget or create a SProperty.

What I am trying to attempt to do, is to show these properties in a single line, without their headers.
So instead of
[0]
→ GameplayTagVar [GameplayTag Picker]
→ FloatVar [Float Value Entry]
→ StructCVar [StructC CustomDisplay]

I can make it display
[0]
→ [GameplayTag Picker] - [Float Value Entry] - [StructC CustomDisplay]

In essence I want the children to do their normal value display with the customization and then include in my custom widget of its parent.

Anyone been able to do this?

The GameplayTag has one child property, which is the FName inside it, but displaying this, just shows the FName field itself.

Thanks for any pointers or advice in advance.

So I found in the CustomizeChildren , I can use the IDetailChildrenBuilder to call GenerateStructValueWidget, which does use the customization.

This works perfectly for my gameplaytag, as it does not use children itself.

But my custom struct C needs to write itself all to to the value widget, instead of inside CustomizeChildren. I guess I might just need to do this the hard way.