Decting iOS touch input in Fixed Update

I was detecting touches of the screen in the Update function, however this on iPhone 4 seemed to cause some kind of delays. However, when I moved the code over to the FixedUpdate, it stopped working as expected (multiple inputs detected in jump)

for (var touch : Touch in Input.touches) {
		    	if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled){
		               fingerCount++;
		           }
		            if (touch.phase == TouchPhase.Began && jumpbox.Contains(touch.position)){
						jumpKeyPressed = true;
					}

I guess, I want to know whether I should detect screen input in Update, or Fixed Update?

According to the Unity script reference:

Touch input is only updated once per frame. The key quote is: “You can access data on the status of each finger touching screen during the last frame”.

From my own experience I believe this is the case, although I would love to have more control over the collection of touch input data for my own game.

So the answer is: Detect screen input in Update() :slight_smile: