Basically what you’ll want to do is assign each button an (you can make a custom button widget with an index variable, or just use an array), and then have a variable Integer named SelectedButtonIndex or something. Start it at zero (or higher if you want a button preselected). Then when the widget is constructed, tell your PlayerController to set a variable named something like “IsInMenu” to true.
Now, on your player controller, for Left key or right key, if IsInMenu is true, talk back to that menu and tell it to lower or increase the SelectedButtonIndex.
Then add a function on your widget called HighlightSelectedButton. Make it do whatever you want to the selected button index… highlight the button or whatever.
Then make a PressIndexedButton func. Call it when the player presses left/right if you want, or if you want them to have to hit enter/space or something, do a similar thing for the left/right keys. So on the player controller if the player presses space/enter it calls the PressIndexedButton func on the UMG.