EDIT: issue randomly resolved itself for the user. I pushed a quick update that removed the GPE check and they said the issue was still happening, but a few minutes later they said it was working despite no changes being made. If GPE was the cause then this is still an issue as it is giving inconsistent results across both accounts.
I’ve had bug reports of UserInputService.TouchTapInWorld not working properly for users in my game, but I have not been able to reproduce this issue on my phone (iPhone 16). So far all of these reports are coming from Android devices and the most recent one has been from a user using a Vivo phone.
The user gave me the following details:
- They are on a Vivo phone running Android 15 (user says they are unable to provide the exact device model).
- Issue only occurs on one of their accounts (they swap between alternative accounts frequently).
- This issue did not happen yesterday (I have not published a new version of the game since last weekend).
Video of the problem:
I’ve left the account details of the user as well as a link to the discord forum post where this issue was reported to me in the private comments for this report.
If you would like to try reproduce this issue in game the link is here. And the code I am using to detect inputs is here:
local function SetHover(PointerLocation: Vector3)
local RayInfo = Camera:ViewportPointToRay(PointerLocation.X, PointerLocation.Y)
local Cast = workspace:Spherecast(RayInfo.Origin, 0.5, RayInfo.Direction * 100, CAST_PARAMS)
--Visualiser:SphereCast(RayInfo.Origin, 0.5, RayInfo.Direction * 100, CAST_PARAMS)
if not Cast then
HideHover()
return
end
[...]
end
UserInputService.TouchTapInWorld:Connect(function(TouchPosition, GPE)
if GPE then
return
end
SetHover(TouchPosition)
end)
A private message is associated with this bug report