Done some recent testing with this, here’s some information I gathered:
ScrollingFrames are still incredibly hard to use. I believe they should function similarly to how they do on desktop, where the mouse wheel is used to zoom the camera in and out unless it’s hovering over a scrolling frame, where it will be used to scroll up and down that instead.
Some mouse events are triggered with ButtonR2, some are triggered with ButtonA. I have no idea why, but it was extremely confusing at first and not intuitive at all. One button for as many actions as possible is the best case.
This might not be related to the gamepad mouse, but setting DevComputerMovementMode to KeyboardMouse stops gamepad users from being able to move their character with the default controls.
While I personally won’t use this, it’s great to see improvements to Roblox on Xbox! Are there any more improvements planned for Roblox on Xbox in the future, such as private servers, the loads of UX issues and the plentiful of bugs in #bug-reports:xbox-bugs that still have not been fixed?
Ability to programmatically turn the cursor on and off. On our lobby screen, I’d like to turn on the cursor by default
All the features planned: scrolling support, text box support and billboard/surface support (in that order)
I’ve written a module that enables basic gamepad scrolling using the DPad. You can find it as a Gist here.
Copy the code into a ModuleScript in ReplicatedStorage and then activate your ScrollingFrame like so:
local GamepadCursorScrollUtil = require(game.ReplicatedStorage:WaitForChild('GamepadCursorScrollUtil'))
GamepadCursorScrollUtil:addGamepadScroll(SomeGuiElement.ScrollingFrame)
The addGamepadScroll returns a table of callbacks. So if you can manually disconnect them if need be.
Got this weird error (I don’t have Virtual Cursor enabled)
22:01:14.537 CoreGui.RobloxGui.Modules.VirtualCursor.VirtualCursorMain:99: attempt to index nil with 'GetPropertyChangedSignal' - Client - VirtualCursorMain:99
22:01:14.537 Stack Begin - Studio
22:01:14.537 Script 'CoreGui.RobloxGui.Modules.VirtualCursor.VirtualCursorMain', Line 99 - CoreScript - VirtualCursorMain:99
22:01:14.537 Stack End - Studio
22:01:14.537 Failure to Start CoreScript module VirtualCursorMain.
Requested module experienced an error while loading - Client - StarterScript:94
I’ve noticed that the scrolling frame now automatically scrolls if the virtual cursor is near the edge of the scrolling frame. It would be great if we had the option to disable this automatic scrolling for certain ScrollingFrames, since it can be sort of annoying in certain cases such as this one:
This is a really nice tool! I have a couple requests for this to be perfect though:
-Ability to activate the cursor on a player. I don’t want the player to be able to bring up the cursor while they’re playing, only when they’re in a menu. Instead of having the player bring it up, it would be great if we could bring the cursor up when needed and put it away when done.
Change the cursor icon (or at least make the default icon smaller). It’s a bit large compared to the full size of the screen.
Hi, not sure if this is already a feature but is there a way for me to force the Virtual Cursor on screen rather than relying on the Player to click a button on their gamepad?
I have already hard coded my own Console Support into my game but I need this Virtual Cursor for my Christmas Advent Calendar event. Once they enter the Advent Calendar I want the Cursor to appear on the screen rather than needing to click an additional button once they’ve entered.
UPDATE
I found a property within GamepadService called GamepadCursorEnabled. I tried to use this but I was lacking permission so I am lead to believe that this feature is not yet possible. Thanks!
Why are all the methods to force enable the gamepad cursor turned off? I see all the necessary API sitting in the core scripts running happily, but I’m not able to access them. Relying on players to understand that they have to hit the Select button is terrible UX, and it’s keeping me from fully committing to this feature.