I believe the keyword you are looking for is carousel menu, these come in different shapes and sizes, including 3d ones.
You could use a scroll box with the scroll functionality disabled (oh, the irony) and control the position of the scroll manually. Here’s an example with the buttons.
The whole thing is done in the widget graph, the buttons set the desired position of the Scrollbox, and the Event Tick tries to reach this position. This is a very basic setup and can be improved in many way, like *Gating*the *Tick *so it does not unnecessarily eat the performance, and adding clamping to the scroll offset.
When it comes to zooming In&Out, I’d create a widget on top of everything else - this will allow you to control its size in the viewport.
Hope it can get you started. If you have any questions, don’t hesitate to ask them.

