Customizations that use FDetailPropertyRow::CustomWidget and set the visibility attribute do not honor it. A Customization set up like the below, for instance, will not honor the Visibility in red due to it being a CustomWidget. The reason is that things that make their widgets this way are not added to the tickable nodes to have the visibility refreshed.
IDetailPropertyRow& ComplexFieldDetailPropertyRow = StructBuilder.AddProperty(ComplexFieldPropertyHandle);
ComplexFieldDetailPropertyRow.GetDefaultWidgets(ComplexFieldNameWidget, ComplexFieldValueWidget);
ComplexFieldDetailPropertyRow
.CustomWidget()
// <DOESN'T WORK>
.Visibility(TAttribute<EVisibility>(this, &FMyStructCustomization::GetFieldVisibilityFailing))
.NameContent()
[
ComplexFieldNameWidget.ToSharedRef()
]
.ValueContent()
[
ComplexFieldValueWidget.ToSharedRef()
];
Generally speaking, each time you tab out of the simple field, ComplexField row should be showing if and only if there is text in the Simple Field text box (see gif)
How does TextureRenderTarget2D get TArray<uint8> type data?
How do I set a material as a post-processing material?
Why does the REMOVE method of map container remove elements have memory leaks?
UMG RichText not appear image when packaged
How to delete some elements correctly when deleting an array loop?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-199425 in the post.
0 |
Component | UE - Editor - Workflow Systems |
---|---|
Affects Versions | 5.3 |
Target Fix | 5.4 |
Fix Commit | 29528182 |
---|---|
Main Commit | 29531220 |
Created | Oct 31, 2023 |
---|---|
Resolved | Nov 8, 2023 |
Updated | Feb 1, 2024 |