The problem I am having is that GuiService.SelectedObject constantly gets set to whatever the virtual cursor is hovering over. The way my current system works is that when the B/back button on the controller is pressed, depending on what it’s set to currently, SelectedObject gets set to a different gui button (a previous part of the menu e.g. from red trail menu to all trails menu). With the virtual cursor enabled, when SelectedObject gets set to the different gui button, it instantly gets set back to whatever the cursor is hovering over and this creates a loop that prevents users from traversing the menu unless they move their cursor off any buttons.
I didn’t think about it too much before but this is just a problem with the way I implemented my system and can easily be fixed. Having the security be ReadOnly would allow me to fix this much quicker but it’s definitely not as much of an issue as I originally thought.
Hey! Support for scrolling frames is by far the top requested feature and is something actively being worked on. I can’t give an exact date when they’ll be supported but I’ll be sure to update the post when they are.
In terms of your other two points, do you have specific use cases around BillboardGui or SurfaceGuis you would like to use virtual cursor with? Also, just to be clear, toolbar items are not broken with virtual cursor, you are still able to equip them normally with the shoulder buttons, it’s just clicking on them with virtual cursor (like you would with a mouse) is not quite finished being implemented yet.
Glad you like the feature, and thanks for the feedback, it’s always appreciated and helpful.
Hey! You’ve found the unofficial support for scrolling frames, good job on your research! Going forward scrolling frames will either work like you describe in the first video or using the dpad. For example if you’re highlighting an object in a scrolling frame and you press dpad down, you’ll get the next object down. We haven’t picked a final solution yet but once it’s done I’ll be sure to update the post that scrolling frames are officially supported. It’s a highly requested feature to be supported and it is currently being worked on but I can’t say for sure when it’ll be done yet. Thanks for the feedback and trying it out in your experiences!
Hey! When I move the cursor to the edge of the screen, cuts about half the cursor off and then stops. Are you seeing something different? I’d be interested to see a use case where virtual cursor cannot select a UI element because it is out of range.
Your dpad solution is quite nice! Scrolling frames are currently being worked on and will maybe function similarly to how yours does. I can’t say exactly when it’ll be done but I’ll be sure to update when it’s shipped.
Glad you like the feature! Thanks for trying it out!
This is not possible and currently there are no plans to support this. If you feel you have good custom solution for UI control with gamepad feel free to use it over virtual cursor. We made virtual cursor as a way for developers to have a generally good solution out of the box if they didn’t have the time/skills to create something more complicated.
Hey! We are aware of this issue, and working on a fix currently. What platform are you on? Do you have a gamepad plugged in? Also is this in every experience you try or just specific ones?
I actually just tested it on console and didn’t experience the issue with the cursor in the corner, it seems like it was only happening in studio, maybe due to my resolution. Great work with the virtual cursor so far - the players of my game seem to like it a lot!
So for example in the game (and I’m sure many other simulator games)
We have billboard UI that pops up once the player is near the pet capsules so they purchase a new egg to unlock a pet, though in order to do that they need to click on a button in the UI.
As for surfacegui, there are a few things, first would tie back to the scrollingframe not being working yet (leaderboards would be a good example of this) another thing is having 3D boards which use SurfaceGui to show some IAPs to the player, so these would usually again have both scrolling frames and/or buttons players need to interact with.
So here are a couple use cases made me weary of this,
Having tools that are very important to the core game loop, where players must equip and use, the number of tools or what they do can vary/differ.
Say as an example we have some building tools where players can equip them and then click on a place on the map to place down items, would this cursor be able to function properly as a mouse would (Given we use UserInputService, etc…)
Okay, but yeah. Go into studio, StarterGui, Properties, You’ll find something saying VirtualCursorMode. Either choose Default (Disabled), Disabled, or Enabled. You can find it here on the first post.
Is there a way I can force this on the player, instead of them having to press a key to activate/deactivate? I highly doubt any kid would know that they are required to press said key to have this enabled. Would be good for some sort of property that we can force enable/disable.
For example, an in game menu should have it enabled, but when the player closes the menu, it should disable. Also allows us to prevent player from turning it on when we don’t want them turning it on.
Player can turn it on when playing game (first person), which I obviously don’t want to happen. (can’t get a screenshot without it disabling cause I’m using keyboard)