Gamepad Virtual Cursor updated - Scrolling Frame Support!

Virtual Cursor Update

We have updated the Gamepad Virtual Cursor to include Scrolling Frame support, along with some minor fixes.

If you tried the previous version of the Virtual Cursor and scrolling frames was a blocker for you, we suggest you give it another go and let us know what you think.

The latest version provides users with an easy method to scroll in any direction. Hover the VC over an edge of a scrolling frame and the content inside the frame will scroll. You’ll see the cursor change visually when you move it into the scrolling zone near the edge.

List of Improvements

The full list of improvements for this release:

  • Scrolling Frame support
  • Roblox Emotes menu disables the virtual cursor to use its own custom UI control
  • Virtual cursor will favor Core GUI over regular GUI, so it is always possible to select the core GUI
  • Toggling the Virtual Cursor off and on while sitting on top of a GUI object will correctly reselect that object
  • Fixed an issue where the virtual cursor changed to a hover state and slowed down on invisible GUI objects if they were descendants of a disabled ScreenGui

Details: Virtual Cursor and Scrolling Frames

  • The scrolling frame content will only scroll if it has ScrollingEnabled set to True
  • The virtual cursor will slow down when it moves inside the scrolling zone, for easier scrolling selection
    ^ The virtual cursor graphic will display an arrow icon indicating the direction it will scroll, when inside the scrolling zone (even if it has scrolled to the end of the list in that direction)
  • You will be able to select any item inside the scrolling frame, separately from the scrolling zone which sits right at the outer edge

The Virtual cursor will respect the ScrollingDirection of the scrolling frame:

  • XY - Scrolls horizontally and vertically
  • X - Scrolls horizontally only
  • Y - Scrolls vertically only

Original Virtual Cursor Post

This post has additional information on the Virtual Cursor if you’d like to learn more:

How to Turn On the Virtual Cursor

Use the property on StarterGui called VirtualCursorMode , to opt-in to the Virtual Cursor!

This property includes 3 settings:

  • Disabled - turns off the virtual cursor and uses the current UI navigation behavior
  • Enabled - turns on the Virtual cursor
  • Default - this is currently set as “Disabled”


Set the Virtual Cursor “ Enabled ” to allow your players to use this feature. We suggest testing this out in the event we potentially move to this system as the default for UI navigation.


Let us know what you think about this update and how the controls feel. If you run into any issues or have any suggestions, please reply with the details in this post. Also, put a link to your game if you are using the Virtual Cursor as the default for navigating UI with a gamepad in your game, we’d love to check it out.

Thank you!


This topic was automatically opened after 15 minutes.

From what I’ve seen, the update looks a lot smoother and generally better than the previous version. Overall I think the feature is a win win, and will provide a smoother experience for controller players!

Great update!

I will also continue to use this feature and support it in newer experiences of mine!


You should have it so you can switch between the normal quick one and the new precise one with some button combination. Both cursors have disadvantages and advantages and having a “toggle” option would be a good idea to make use of both since many people like me have less issues with the normal one but would love to have this be usable in certain situations.


@NoUniqueAddress Just a question… Have the other bugs mentioned on the previous thread been fixed, since I really need TextBox support before I can fully make the switch.


Would it perhaps be possible in the future to add support for both PlayStation DualShock 4 & DualSense touchpads on the controller?


However, this hasn’t fixed this bug yet:


DualShock 4 being the PS4 controller and DualSense being the PS5 controller.

1 Like

Hasn’t Gamepad Cursor scrolling been supported for a while? I’ve been able to scroll in Retail Tycoon 2 using the Gamepad Cursor (and not the d-pad) for a while (although it was moving too fast for me).

Anyways, at least thank you for making it more obvious that you can scroll with the Gamepad Cursor.

I’m pretty sure they are already supported. I’ve been using a Giotech WX4 Switch Pro Controller with Roblox for a while.

Roblox can’t exactly show the controller inputs in games because of a deal with Microsoft relating to exclusivity for Roblox on console.

What certain situations are you talking about? Virtual cursor will move around at its normal speed unless it is moving over a button. In that case it will slow down, making it easier to press the button. The scrolling zone is a similar area where we want to slow the cursor down, so you don’t have to be too precise to be in that zone. What other situation would you want more precise control? I don’t see a toggle being very useful.

Yes! We turned it on a little while ago but wanted to wait for these improvements before announcing an update. Glad you like the changes


for example in a long scrolling gui like this where you have to pick and read the normal one is better since you can just quickly zoom past always snapping to the next button when you read it and want to scroll further meaning you can quickly pick and decide

in the new one you have to skim over everything and slow down and go back to something you want because you are using a joystick as a mouse. Similar to scrolling with a phone or mouse in a website but phones at least are more quick and are dependent on how fast you drag and mice wheels can be fast or slow


the normal one though is a pain in non scrolling guis like this.

the new one is a lot more user friendly here


this makes the choice hard between these two cursors. I can’t pick one without sacrificing some of the ease of use for xbox players. I propose the toggled system basically means you press an easy button combination and easily switch between those and have a switch in the settings similar to shift lock. If this is too complicated i understand. If that is the case than a scrolling speed property would be another good solution since it can just be sped up or slowed down. But that’s just my suggestion

I may be wrong though since i am using a ps4 controller with an xbox controller input emulator and it may not replicate the input of an xbox controller precisely


Scrolling Down is just Okay and I don’t think everyone will scroll better with virtual cursor by scrolling, it’s fast.

1 Like

Now this is something i have been waiting for ages to happen, Woo hoo!

This update is a lot better. It reminds me of the mobile app’s movement buttons!

1 Like

Agreed. I think they should slow the scroll down.

This is a great addition! We’ve been using the Virtual Cursor pretty heavily and it saves a ton of effort, and this will be even more useful.

As a question, is it possible for us developers to toggle the virtual cursor automatically without the user having to manually do it themselves every time? It would be an incredibly helpful feature for us.

Is there any reason you can’t scroll using the other analog stick like every existing game console does? i.e. moving cursor with the left stick, and scrolling with the right stick.

1 Like

Is there a way to ‘force enable’ the virtual cursor through code and not rely on players pressing ‘select’ on their controllers?

This is a must-have feature if not already, it would be really useful :relaxed: