UserInputService touch events do not fire in Greenville

Starting at some point around August 4th-5th, Greenville has experienced a weird issue where UserInputService touch events (like TouchTap, TouchSwipe) just flat out do not fire. This issue is still happening now, as I tested on my iPhone 13 Pro Max, and in the Studio device emulator set to the “iPhone XR” preset. We also had a large amount of our playerbase report these issues, and still are.

No updates were made to the related code or interfaces. Downloading and testing an old version of Greenville where it definitely worked, the issue persists and these touch events do not fire.

The game that this happens on is Greenville, however we have made temporary patches so the core functionality of the game is still playable for the users affected by this issue:

Some portions of the game are still broken (like our Criminal interactive job, where you would break safes open, which uses TouchTap that we could temporarily change to Activated with a TextButton to fix the issue).

This happens both with the global variant through UserInputService*** and on individual GuiObjects.
EDIT***: I’m not sure how I messed up during testing, but the global variants with UserInputService DO work, and I believe the culprit for this bug is found. See the replies from silicon_Aamir below.

I have tried:

  • Reverting to a version of the game that it used to work completely fine, but the issue still persisted somehow
  • Changing the affected TextButton’s ScreenGui to be the first in the display order, if it was some sort of overlap issue
  • Toggled all common problematic properties like Active, Selectable, etc, and it would still not fire
  • Deleting ALL other ScreenGui objects, assuming they could have some sort of overlap issue
  • Deleting ALL BillboardGui and SurfaceGuis in the game to see if it would fire
  • Changing all properties in the affected TextButton/ImageButton(s)
    None of these above troubleshooting steps solved the issue.

If it matters, the system I first observed this issue on is:
Windows 11
Intel i9-13900K
32GB RAM
RTX 4090 FE

An important detail: These events work fine when tested on a blank baseplate and a simple ScreenGui and TextButton, and I’ve tried creating a separate script, or used the command bar in Studio and output (shown in GIFs below) in case it had to do with our code. We also have different areas in the codebase that use these events and they still do not work.

Here’s some GIFs if needed of me trying to demonstrate what is happening, but I believe it’s quite self-explanitory:
RobloxStudioBeta_6CSc6I3QZs
RobloxStudioBeta_BrWWMVc373

Expected behavior

TouchTap and TouchSwipe (and likely other events) should fire normally.

A private message is associated with this bug report

4 Likes

Thanks for the report! We’ll follow up when we have an update for you.

2 Likes

Hi,

Just to confirm you’re only seeing this in your experience and cannot repro in a studio baseplate? Does the same issue occur with an Android device?

Your earliest confirmed report will also be helpful.

2 Likes

Yes, this only happens Greenville. Immediately assuming it was a problem with our code, I did all the troubleshooting and such, but the main troubleshooting step that led me to making a bug report was the fact that it was still broken in a version where it definitely worked. I even went to a much, much older version to be sure.

It appears our earliest report of this issue was Aug 6th:

2 Likes

I’m facing the same issue, although TouchTap and TouchSwipe are getting triggered, but the GameProcessedEvent boolean is always true. (Usually meaning the function gets returned early to prevent unintentional taps)
I’ve been able to isolate the cause to AdGui’s being created, for some reason it makes the TouchTap/TouchSwipe gpe always return true and when it’s on a UI element they never trigger, (InputBegan is unaffected)

To recreate my issue, either create a part in workspace, and create this as local script OR use the .rbxl attached.

  1. Use the device emulator and set it to a mobile
  2. Play test and click around, wait 5s for the adgui to be made, click around
  3. The output should have warnings when you click once the AdGui is created
game:GetService("UserInputService").TouchTap:Connect(function(input, gpe)
	if not gpe then
		print("TOUCH TAP wasn't consumed by game")
	else
		warn("TOUCH TAP was consumed by game")
	end
end)
game:GetService("UserInputService").TouchSwipe:Connect(function(input, val,gpe)
	if not gpe then
		print("TOUCH SWIPE wasn't consumed by game")
	else
		warn("TOUCH SWIPE was consumed by game")
	end
end)



task.wait(5)
local adArea = game.Workspace:WaitForChild("Part")
local adGui = Instance.new("AdGui")

adGui.Parent = adArea
print("\n\nAD GUI CREATED\n\n")

TouchTapBreakingByAdGui.rbxl (53.0 KB)

Not sure if you guys also use AdGuis/if removing them solves it for you @Smeers

edit: Any AdGuis in the game will cause these events to not fire/always return GameProcessedEvent to be true

2 Likes

Following my last post, this can be reproduced in a studio baseplate if you have an AdGui anywhere in the experience a client can access (eg. workspace, replicated storage)

This bug caused one of our games to become unplayable for mobile users as a key concept in the game is building a base and it uses TouchTap to place objects (we resolved this by removing AdGuis)
Additionally it makes the movement mode Tap To Move on mobile unfunctional (because it uses TouchTap) so we’ve removed AdGuis from all our experiences for the time being

It’s as though when an AdGui is initiated by the client it creates a GuiObject that covers the whole SafeArea of the device which consumes any touch events

1 Like

Ah, this does actually make sense–we were only actually using the GuiObject versions of these events, which seem to not fire at all, but the global ones do seem to fire in the same fashion you stated.

And sure enough, the issue is completely gone once all AdGuis are removed from the game. I even removed one of the AdGuis in my test place that was close to spawn, and it worked, then drove down the main road, streaming in a new AdGui, and it suddenly broke.

Thanks a ton for this information.

4 Likes

This issue should be resolved. Thanks for the report!

1 Like