Collapse struct properties into outer object in details panel

Say I have a UObject displayed in a details panel. The object has an embedded struct property. Rather than displaying like this:


>CategoryName
  >StructPropertyName
    >StructMemberProperty1
    >StructMemberProperty2

I want this:


>CategoryName
  >StructMemberProperty1
  >StructMemberProperty2

Anyone know if there is a shortcut way to do this without having to create a details customization every time? While in some cases it’s necessary for disambiguation, most of the time the extra level of indentation is just a hassle.

I’ll second this. In our own project we use a generic details customization that not only collapses structs but also category nodes as desired for many of our types. It uses a meta keyword to identify structs to treat as you describe.

Another big improvement for readability of the details panel would be to indent the property values as well as the property names.



> PropertyName1                     | Foo
> InlineObject                      |
   > InlineObjectProperty1          | 3.1
   > InlineObjectProperty2          | 5.2
   > AnotherInlineSubObj            |
       > InlineObjectProperty3      | Fizz
> PropertyName2                     | 238


The values all line up in a column and don’t look like a tree at all, which becomes very confusing when you have multiple nested inline objects or structs.

Sounds interesting. Would you mind explaining what you mean by a generic customization?

Is it simply some encapsulated functionality that you manually delegate to from each individual type/class customization? Or have you found a way to somehow ‘subclass’ customizations, so you can define a specific customization that inherits some more generic customization behavior?

In our case we have multiple types registered to use this customization, but it’s also our only customization. As soon as we need a new specific customization then we’ll have the problem you describe, and we may need to find a way to share functionality with the ‘generic’ customization.

Okay yeah I see what you’re saying now, thanks for clarifying.

I’ve recently stumbled into what seems to be a related issue here. The details customization is a really powerful system, but it seems that it could do with being made more flexible in terms of how it gets applied.