Hey all,
In our project, we make quite a heavy use of Editor/Property customizations. We found that a lot of the times, Unreal collapses property trees when a property is updated. We don’t want that to happen, as this is quite disruptive to overall workflows. For example, updating a string property on a class can collapse the entire array property in the same window.
We tried a lot of things to try to enforce it’s expansion state, but no matter what we do, something always overrides it - and we are unable to pinpoint the exact issue.
We are aware of `RequestRefresh()` and `ForceRefresh()` differences - but we also found that `ForceRefresh()` is the only way for us to display the changes made to properties. `RequestRefresh()` has - so far - failed to properly refresh the window to display the changes.
Example of changes we try to make: we have a Combo button with a set of objects to choose from. When we select a struct, we populate data and display properties that belong to that struct. Then our designers can make changes to that struct inline in the Editor. Changing properties - either within that struct or outside of it - collapses the property tree. In order to display the newly-assigned data, we use IDetailChildrenBuilder::AddExternalObjectProperty().
Have you seen that before, and if yes - do you have any advice? Are there any flags we should set on properties/Slate to make it properly work with `RequestRefresh()`? Or things we should do before and after a property is modified to properly notify the Engine about it?