Gamepad Virtual Cursor: APIs

For now no, there are no plans to change/remove the highlight.

5 Likes

Love the update. Now there just needs to be an API for changing the size of the cursor.

11 Likes

I know yeah but good job just get Roblox studio game news tomorrow

5 Likes

Nice update. That was a missing feature for my game My Prison. Now I will be able to make Gamepad controls better.

Thank you

5 Likes

Really loving the virtual cursor, but I would like to know when :GetGamepadCursorPosition() will be available for us to use since I get an error saying that I am lacking permission. It seems the cursor’s position and the mouse’s position are different and I need check if the mouse is hovering on/off certain UI elements at times.

7 Likes

Hey everyone!

Just a small update, the issues with Virtual Cursor not starting in the correct position on Xbox and not working on the Roblox downloaded from the Microsoft store have been fixed!

Please respond to this thread with any new issues or feel free to message me directly if you need help with any Virtual Cursor feature.

Thank you!

6 Likes

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)

5 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