Input.GetTouch
static function GetTouch(index: int): Touch;
static Touch GetTouch(int index);
static def GetTouch(index as int) as Touch
Description

Returns object representing status of a specific touch. (Does not allocate temporary variables).

	// Moves object according to finger movement on the screen

var speed : float = 0.1; function Update () { if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) { // Get movement of the finger since last frame var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPosition; // Move object across XY plane transform.Translate (-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0); } }
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public float speed = 0.1F;
    void Update() {
        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
            Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
            transform.Translate(-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0);
        }
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	public speed as float = 0.1F

	def Update() as void:
		if (Input.touchCount > 0) and (Input.GetTouch(0).phase == TouchPhase.Moved):
			touchDeltaPosition as Vector2 = Input.GetTouch(0).deltaPosition
			transform.Translate(((-touchDeltaPosition.x) * speed), ((-touchDeltaPosition.y) * speed), 0)

Another example:
	// Instantiates a projectile whenever the user taps on the screen

var projectile : GameObject; function Update () { for (var i = 0; i < Input.touchCount; ++i) { if (Input.GetTouch(i).phase == TouchPhase.Began) { clone = Instantiate (projectile, transform.position, transform.rotation); } } }
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public GameObject projectile;
    void Update() {
        int i = 0;
        while (i < Input.touchCount) {
            if (Input.GetTouch(i).phase == TouchPhase.Began)
                clone = Instantiate(projectile, transform.position, transform.rotation) as GameObject;
            
            ++i;
        }
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	public projectile as GameObject

	def Update() as void:
		i as int = 0
		while i < Input.touchCount:
			if Input.GetTouch(i).phase == TouchPhase.Began:
				clone = (Instantiate(projectile, transform.position, transform.rotation) as GameObject)
			++i

	// Shoot a ray whenever the user taps on the screen
	var particle : GameObject;
	function Update () {
		for (var i = 0; i < Input.touchCount; ++i) {
			if (Input.GetTouch(i).phase == TouchPhase.Began) {
				// Construct a ray from the current touch coordinates
				var ray = Camera.main.ScreenPointToRay (Input.GetTouch(i).position);
				if (Physics.Raycast (ray)) {
					// Create a particle if hit
					Instantiate (particle, transform.position, transform.rotation);
				}
			}
		}
	}
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public GameObject particle;
    void Update() {
        int i = 0;
        while (i < Input.touchCount) {
            if (Input.GetTouch(i).phase == TouchPhase.Began) {
                Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
                if (Physics.Raycast(ray))
                    Instantiate(particle, transform.position, transform.rotation) as GameObject;
                
            }
            ++i;
        }
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	public particle as GameObject

	def Update() as void:
		i as int = 0
		while i < Input.touchCount:
			if Input.GetTouch(i).phase == TouchPhase.Began:
				ray as Ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position)
				if Physics.Raycast(ray):
					(Instantiate(particle, transform.position, transform.rotation) as GameObject)
			++i