Collapsing property tree

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?

Hi Jan,

Apologies for the delay. A fix is being submitted for 5.7. I’ll update this thread with the github repo commit when it’s available to cherry pick.

Hi Jan,

Thank you for your patience. Epic is back from Summer Break and I wanted to follow up. You should find the change your looking for in the Epic Github at https://github.com/EpicGames/UnrealEngine/commit/6b0e9d9390959ca8b1e51b0fd857724343148f0e

It should allow you to more accurately control expansion state in customizations. Please let me know if you have further questions.

Thanks!

Hi Scott,

No worries! We kind of shelved this work for now and focused on something else in the meantime. Please do let me know when it’s committed, I’d love to take a look if we can integrate it! Thank you so much!