Keyboard/Controller controls for UI
I think it'd be really useful to integrate keyboard and controller controls for UI, with seamless integration / switching between Mouse and Keyboard Inputs so whatever you are selecting (or was selecting) is remembered when switching from mouse input to keyboard/controller input. I was able to achieve something like this in the video attachment below in a slightly old project of mine.
I think this would be really useful for Fusion and to make UI design easier and to also make it more accessible on more platforms. I know that Roblox has a default GamepadCursor for UI control on consoles, however I find it really lazy and not as fun to control and intuitive as using the D-Pad to move in UI.
If this were to be added to Fusion, I would appreciate having options to customize controls for input direction, and being able to select and highlight specific buttons you want to "Scroll" over and select in the menu, and customize the Scroll direction between horizonal (X) or vertical (Y) direction and to be able to quickly switch from different "Scroll menus" or ScrollingFrames. Also an option to auto move and focus to a selected button in a scrolling frame using the ScrollingFrame's CanvasPosition would be nice.
Also, the way I had most of this menu-scroll that I implemented in this attachment was made possible by having a set of RBXScriptConnections stored in a table for each button like a buttons reaction to MouseButton1Click or MouseEnter/Leave and having it triggered when you select it both by mouse or by keyboard/controller
https://github.com/user-attachments/assets/bf0860bc-9b43-4e3d-bf49-31a4076b02e2
I also would appreciate implementing Auto-scrolling similar to this video below, where holding a specific direction (Up or Down) for a bit of time, will auto scroll until you let go of the controls or go to another direction.
For mouse and console compatibility and integration, I also made things like a close button appear only when in mouse, and disapear on console mode to be less intrusive, as in console or keyboard mode, you are able to just exit out of UI by pressing the B button or Backspace.
https://github.com/user-attachments/assets/9f6a81a1-067a-44ae-b9cb-f6fd10ecd27b
Another showcase of this menu scroll system in one of my other games, something I also implemented are different settings like Sliders and Checkboxes and also Multiple choice settings. The only thing I have yet to implement is selecting specific choices in a Multi-choice setting below like with the "Graphics" one. When pressing the A button on console, you automatically select the next choice with no drop-down menu. I think Fusion would be really great to make this process more easier to add things like Drop-down menus as I haven't made that yet.
https://github.com/user-attachments/assets/1e51b92a-6268-4c1e-9bba-862464127fce
Fusion tries to avoid implementing overly opinionated abstraction layers explicitly. We want Fusion to remain a generic layer so that others can build these sorts of input libraries on top of it, with whatever opinions work best for their project. One solution rarely fits all.
As such, this wouldn't be considered a logical extension of Fusion's core utilites, so it's unlikely this will get implemented.