android touch not detected.

Hi

I am trying to do the basic minimal app. I want to talk to the android touch pad.

I created a new project. My scene has a camera, a GUIText, and a script pinned to the camera.

The game plan is simple. When i use the keyboard arrow keys or the android trackball joystick thingy, the GUIText displays the settings in realtime. This works as expected both on the preview and when i build and deploy to the android.

But when i touch the screen on the android, the guitext stops displaying the framecount as if that routine in not fireing. When i stop touching the touchscreen, the program resumes and the framecount GUIText continues. So what am i doing wrong?

The script is here:

using UnityEngine;
using System.Collections;

public class MainLoop : MonoBehaviour {

public GUIText GT;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

    GT.text = Time.frameCount.ToString() + "

" +
Check_Axis() + Check_Touch();
}

string Check_Axis()
{
    string ans="";
    ans = "Horizontal=" + Input.GetAxis("Horizontal").ToString();
    ans += "

Vertical=" + Input.GetAxis(“Vertical”).ToString();
return ans;
}
string Check_Touch()
{
string ans = “”;
int Count = Input.touchCount;
ans = "
Count=" + Count.ToString();
for (int i = 1; i <= Count; i++)
{
ans += "
Posx= " + Input.GetTouch(i).position.x.ToString();
ans += "
Posy= " + Input.GetTouch(i).position.y.ToString();
ans += "
dPosx= " + Input.GetTouch(i).deltaPosition.x.ToString();
ans += "
dPosy= " + Input.GetTouch(i).deltaPosition.y.ToString();
ans += "
Phase= " + Input.GetTouch(i).phase.ToString();
}
return ans;
}
}

did you check logcat to see if your code has some other problem?
code below is working for me… also handles if using mouse or touch device, which makes development a bit quicker…

using UnityEngine;
using System.Collections;


public class Picker : MonoBehaviour {
	Transform marker;
	Marker markerObj;
	Overlay overlay;
	
	// Use this for initialization
	void Start ()
	{
		marker = GameObject.Find ("marker").transform;
		markerObj = marker.GetComponent<Marker>();
		overlay = markerObj.overlay;
		overlay.AddMsg("startup");
	}
	
	// Update is called once per frame
	void Update ()
	{

	    int fingerCount = 0;
        foreach (Touch touch in Input.touches) {
			if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
            fingerCount++;
			Ray ray = Camera.main.ScreenPointToRay(touch.position);
			HandleTouch(ray);
        }
        if (fingerCount > 0)
            Debug.Log("fingerCount: " + fingerCount);

	}
	
	void HandleTouch(Ray ray) {
		RaycastHit hit;
		if (Physics.Raycast (ray, out hit)) {
			Vector3 hitpos = new Vector3(Mathf.Round(hit.point.x), Mathf.Round(hit.point.y), Mathf.Round(hit.point.z));
			markerObj.MoveTo(hitpos);
		}
	}
	
	void OnMouseDown ()
	{
		
		Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
		HandleTouch(ray);
		
		// object.transform.position = Camera.main.ScreenToWorldPoint (new Vector3 (touch.position.x, touch.position.y, cameraTransform.z - 0.5));

	}
	
}