Gamepad Virtual Cursor: APIs

Not a huge bug but I did notice that when using the Virtual Cursor, the mouse location (UserInputService:GetMouseLocation()) doesn’t get updated unless your cursor’s velocity changes. I took a gif showing the issue here:

The red dot is being updated every frame and should match the cursor’s position at all times, but it doesn’t do that when the cursor’s velocity is constant. You can take a look at the setup here:
virtual_cursor_bug_demo.rbxl (36.5 KB)

7 Likes

Hey!

This is a known issue with Virtual Cursor. Have you run into any problems using the feature because of this bug?

4 Likes

Having an issue with the virtual cursor being able to click through buttons.

I currently use fullscreen buttons as a way to ‘sink’ input behind modal popups so the user cannot interact with menus that are partially obscured. When using a mouse, the user is unable to click through the button but the virtual cursor will still select buttons behind the input ‘sink’
virtual_cursor_repro.rbxl (37.9 KB)

GamepadService:EnableGamepadCursor() also has an ambiguous error when called without any arguments, implying that it cannot be called with a nil argument (it can, it just has to be specified)
image

6 Likes

Wanted to bring attention to this again, as it is still blocking me from using virtual cursor in my experience.

4 Likes

Hey!

You could set your fullscreen button’s Selectable property to True, and avoid user input that way.

The virtual cursor being able to select the button in your demo is the correct behavior. Feel free to DM me if you need more in depth help.

Thank you!

4 Likes

This does not seem to be the case, I am still able to select through a Selectable = true button. Will try to figure out a better repro for this.

edit:
Grabbed an isolated piece of the UI that has the issue, will dm you the repro file

edit 2:

6 Likes

I can’t find a way to override the Thumbstick 2 scrolling action binding? “VirtualCursorThumbstick2Movement”?

I want to be able to rotate the camera while using the virtual cursor so I can select physical objects in the world with it. Currently Thumbstick2 is forced into scrolling up / down, however there should be a way to override this.

I believe it should use BindActionAtPriority, rather than BindCoreAction

3 Likes

3 months after sharkbite 1-2 co-owner…

i don’t care as I don’t use a controller, and i dont have xbox one

3 Likes

Opening the core GUI seems to disable the virtual cursor.
The UI highlight that appears when the Virtual Cursor is over a UI element interferes with my UI since it is rendered at a higher ZIndex causing it to render over my UI.
There is also a weird issue where the Virtual Cursor refuses to acknowledge a text button, I don’t know what to do about this.


The slider is a text button. I have tried a couple of things but I can’t find what is causing this behavior.

Edit: I replaced the Text button with a new instance of a text button and the issue stoped accruing.

6 Likes

Hello @NoUniqueAddress ,

I have a suggestion that would be great to add to the Virtual Cursor API. You (Or the people that make the APIs for Roblox Studio) should fix this bug where if someone is holding down a button, it would select another button if that button is next to another button because I realized that there is a bug where if someone has two buttons next to each other and they select one of them using the Gamepad Virtual Cursor then, the Gamepad Virtual Cursor would also select the other button which might effect some games. Can you (Or the people that fixes bugs and issues for Roblox Studio) please fix this bug because this could impact some games that uses the Gamepad Virtual Cursor? Thank you.

8 Likes

Hi!

Please provide repro steps and place file for the issue you’re seeing. Feel free to dm it to me if you’d like.

Thanks

3 Likes

So do you want me to send you my experience (my game) as a file so that you can take a look at the issue with my game or do you want me to send you a video previewing the video?

3 Likes

Disabling the VCAPI when it is “hidden” due to KeyBoard and Mouse usage does not actually disable the VCAPI and causes it to reappear on the next controller usage. In order to actually disable the VCAPI it needs to be present on-screen. This behavior leads to issues for me and maybe other developers as well.

4 Likes

Hi! This is intended behavior. If you would not like the virtual cursor to reappear when switching back to gamepad input, you can add some code to do so. Here is an example

local uis = game.UserInputService
local gamepadService = game.GamepadService

uis.LastInputTypeChanged:Connect(function(lastinput)
	if lastinput ~= Enum.UserInputType.Gamepad1 then
		gamepadService:DisableGamepadCursor()
	end
end)
4 Likes

An update seems to have changed how the controller mouse icon behaves. I can no longer disable the Controller Mouse Icon via “UserInputService.MouseIconEnabled = false”.
image

6 Likes

Hi, thanks for the report. This will be fix in an upcoming release.

5 Likes

Hi, any update on when this upcoming release will be? :smile: Having obtrusive UI I can’t turn off is really hurting my experience.

3 Likes

Hi! This issue should be resolved. Please let me know if you encounter it again. Thanks

2 Likes

Whenever the cursor is activated, the camera zooms out slightly.
This happens in my game when I use a keyboard keycode (Enum.Keycode.O) to activate the cursor since I do not have a controller.

4 Likes

Hello @NoUniqueAddress,

I was wondering if a speed property could be added to the API. We can set the location/position of the Virtual Cursor, and it slows down when it hovers over buttons, but there doesn’t seem to be a way to set the movement speed of the Virtual Cursor.

I feel like the speed currently is fine, and should be the default, but some may want to set it to be faster or slower.

This doesn’t necessarily effect me currently, but it would be a nice addition to those who would use it. I didn’t think of this use-case, rather it came from @SnowzBunz: https://devforum.roblox.com/t/whats-stopping-you-from-supporting-xbox-controllers-console-in-general-is-it-challenging-or-confusing/2392800/30

I’m also wondering if the Virtual Cursor will work with the DragDetectors that’s being worked on.

Thanks,
Reditect

3 Likes