Need help regarding custom widget navigation.

Currently I have a custom navigatable widget class written in C++, containing many smaller focusable widgets, for gamepad navigation. When displaying a scrollbox with specific composition as shown and navigating downwards, it skips right down to the last widget at the bottom, ignoring the middle one since GetCachedGeometry() positon returns the wrong position values cause the widget iss not rendering.

ForceLayoutPrepass() does not work and all widgets’ IsVisible() returns true despite not all of them are visible in the scrollbox area. Is there anyway to work around this issue?

“IsVisible” only checks the "visibility” property of a widget, unfortunately.

Since you’re working on it in C++, you might be able to get it done by looking into how the `ScrollDescendantIntoView` function in SScrollBox.cpp works. It’s used by the UMG version `ScrollWidgetIntoView` by passing its underlying Slate Widget, and it gets its position despite it being outside the rendered area.