For some reason when working with a touch screen (not the iphone, a projective capacitive based screen), GUI elements need two taps/clicks to activate them.
We’ve worked around this for most situations by using GUI textures for buttons.
However for a horizontal slider, we don’t have a good workaround. Essentially, we need to tap twice to select and after dragging the thumb slider, we have to touch/click outside of the slider area to deselect it.
Anyone have any ideas on why this is and or a workaround? The slider thing is really the only issue. we’re fine using tetures for buttons instead everywhere else.
FYI, we’re running this on a Windows XP and using ViP touchfoils.
Odd, is it only UnityGUI elements that need this or does this happen for other ‘clickable’ objects in your Unity content? For example, do you get mouse related click events on models with the first tap or is a double-tap needed there as well? What about other content types (DHTML, Flash, etc.), do they experience this same thing?
Sorry I don’t have anything definitive, my first step is to see if it’s Unity-specific or not, and then if so what parts (all? some?) of Unity are affected.
Hi,
It seems to be only the unity GUI elements. Also, we can load flash apps, browse the net windows,etc with only one click. The sliders require 2 clicks. Any ideas?
I have noticed this with horizontal slider on iPhone too. Once I move the slider, I have to tap somewhere outside the slider area in order to deselect it. You can tell because the sliding part will still have an outline around it. It’s much easier to detect this when you set different colors for all the states of the GUI elements - I’ve also noticed this for Toggles - if you set 3 different colors for normal, active, and hover, you can see this happen. Once I toggle my, er Toggle, I then have to tap somewhere outside to get it to leave hover state.
I’ve encountered this gui bug as well working on a touch screen monitor with unity 2.6
It’s as if it will ignore clicks unless it receives focus first. For example I can use the mouse to rollover to the button and click once, but the touch screen always requires a double tap probably because there is no rollover event.
@droderick: was a bug ever submitted? If so then what’s the case number and I’ll look it up to see if I can give folks any sort of update/workaround information, thanks!
HI,
I did submit a bug on this one. Unfortunately, it was over a year ago and i’m on a new machine now, so I most likely don’t have the case #.
It would be hugely helpful though if this were solved. When we used it in a few large exhibits, the problem/issue did kill the overall experience in some cases.
That said, Unity still rocks and we love it!
Higgy, let me know if you want us to file another bug report on it.
many thanks
Please send me a PM with the email address you used to submit the bug, or any other details that might help me find it and I can try to search for it with that. In the meantime I’m going to try a few searches on my own to see if I can find it first.
Once I find the bug I can glean some status and share that with y’all.
Ok, I’m back with an update and it’s not a particularly good one. I found the bug in our records (Case 165515) and unfortunately it’s sat stale since July 20th of last year. The reason for that is that the bug was submitted earlier that year and then in July our QA/Support team replied asking for more information, specifically noting that you logged the issue against version 2.1.0 yet we’d (by then) shipped version 2.5.1, the reply asked whether the bug was still reproducible in the 2.5.1 build. There isn’t any further action in the bug record since then…
So as I’m now to understand this you folks are all seeing this still today, and that is happening in the latest builds of Unity that are available? (Unity 2.6.1) To anyone that’s still experiencing this issue, please help me out and post your Unity version information (authoring and/or player as needed) along with the OS(es) it occurs on. With that in hand I’ll update the bug record with that data and once again reference this thread and reopen the case so it lands in someone’s lap to investigate anew.
I’m sorry I don’t have a better response to offer, but let’s just get this moving forward together now so we can (hopefully) put this one to rest!
I found some similar issues in an HP IQ500 toushsmart (touchscreen PC). Maybe my case is not exactly the same as I’m using simple GUI Buttons.
I’ve made some research and I think it is not only Unity related, I found some Flash forums talking about the same problem.
After some trials, it seems that the touch screen doesn’t detect mouseUp very well, and because GUI Buttons are detected on mouseUp, the result is an erratic behavior and need for double clicks.
The solution in first place would be to have separate mouseDown and mouseUp events for GUI Buttons.
At this moment I’m stuck on this and near to dead line.
I tried with EventType.MouseDown, but it cannot be use inside an If(GUI.Button(…)) condition, because it is not tested until MouseUp event.
In reverse, if you try to place the If(GUI.Button(…)) inside an Eventype.MouseDown condition, the button is never displayed.
I tried also with GUI.RepeatButton, and it was even worse.
So, I’m looking for some OnHover detection or something.
Bottomline is, the touch screen doesn’t function the same as actual mouse buttons.
The bug was logged but eventually closed because no follow up information was provided. If you are still seeing this problem, it would be great if you could file another bug report (that goes out to everyone - we don’t mind getting multiple reports ).
I’ve always had trouble with horizontal sliders controls on the iPhone too. Sometimes the slider thumb won’t respond to a tap if it’s at the end of the slider. Tapping somewhere on the slider itself seems to wake it up, allowing the control to be used again.
I’m seeing the problem mainly when using GUI.Button, but the deal is that clicking on the button registers the LAST place the mouse was rather than where I just touched. So If I have two buttons, and I press button 1 and then button 2, button 1 gets launched after I press button two, and the first click does nothing.
If I use a mouse to hover over the button, and then touch the button, everything works fine. Also, if I drag my finger to the button (so its highlighted) and then tap it, the button works as well.
It looks to me like tapping the screen causes a mouse-down event, simultaneously with a mouse-up event wherever the mouse was previously.
Any insights? I think I’ll resubmit a bug report on this one.
Again, this is Unity 3 on an HP TouchSmart. To be honest, I’m not sure what you guys can do about this problem, since it seems to be from the nature of how these touch screen computers are working. This is a multi-touch display, but Unity doesn’t think it is.