Navigating items in a UMG grid via controller/keyboard

Hi; hoping anyone here can help me out. I’ve been scouring the internet for tutorials and Q&As for two days to no avail.

I have a menu system implemented via UMG, using my own widgets as buttons (something I swapped out after finding UMG and controllers don’t play well with the standard buttons). It consists of a series of menu headings that make elements visible/invisible depending on what has been selected (e.g. selecting ‘Profiles’ brings up entries for characters you might interact with, selecting ‘Skills’ shows you the skills that have been acquired).

This all works perfectly with a mouse, but (as I’m sure comes as no surprise), trying to make it work with keyboard or controller is proving difficult.

I currently have it set up to use overrides on the On Key Down function; if I press left or right shoulder buttons, it will cycle through the menu headings by adding/subtracting a variable (that triggers displaying the appropriate content and highlighting the appropriate menu heading); if I press left or right on the trigger buttons, it does the same with my ‘page’ buttons (so you can cycle through headings, but when you hit e.g. Profile, it goes through every page of character entries before going to the next heading).

However, where I’ve hit a wall is on my inventory menu. This generates grid entries for every item you hold (the grid is set up with a maximum number of possible custom buttons, it cycles through and makes them visible as they are populated, leaving any unfilled buttons invisible). I can select these via mouse (which basically shows more info on the item), but I can’t even get it to focus on anything in the grid. I’ve been trying to make it use the left stick of the gamepad, but even just sticking a test of checking for the R button on the keyboard does nothing (it triggers a print string, bujt it doesn’t convey any functionality). If I twiddle the d-pad or left stick, it just starts using the standard focusing behaviour on the heading buttons (i.e. not the behaviour I’ve put in to change the look of the heading button based on whether it’s active or inactive).

Given the rest of this is working, I think there must be something dumb I’ve either missed (or perhaps is conflicting), but I have no idea what, and would welcome some inspiration.