Best way to handle menu controls

Hi all,

What I’m looking for is the best way to handle inputs for menus that have multiple options to select from (think a shop, or settings menu or similar). I would prefer to be able to just use standard controls. So W,A,S,D on a PC , swiping Up, Down, Left or Right pm touch screen, or moving the joy stick will allow me to pick the option in the corresponding direction.

Being able to select / display the correct option isn’t going to be an issue, the problem is catching the input for it. Obviously the first issue is if you use those as your inputs your player will move when you try to navigate the menu. You can stop that by using :-

local controls = require(game:GetService("Players").LocalPlayer.PlayerScripts.PlayerModule):GetControls()

controls:Disable()

But then I’m not sure how to catch those inputs to use in the menu. I’ve searched for catching movement inputs but most of the options talk about checking the move direction of a player. This doesn’t work as with the controls disabled though. I could also go through an catch those inputs, individually on each device, but not sure if that will work with a touch screen if the controls are disabled?

I’m sure there has to be an easy way to handle this, I’m possibly way off the mark for the best way to handle menus. I just know I’ve played a few games on consoles where the menus were dreadful and I was looking for the best way to handle them which could be used across all platforns.

I could be looking at the totally wrong thing here, there may be some inbuilt system using input buttons (I moved to juse using GUI elements as I was going to use controls to navigate rather than clicking / tapping… I could be wrong in doing that)

Any help where people can point me in the right direction would be greatly appreciated!