iPhone button efficient ?

Is this an inefficient way to make a pause button for the iPhone:

var pauseButton: GameObject;

var hit : RaycastHit;

var pauseGame : boolean = false;

function Update () {

for (var touch : iPhoneTouch in iPhoneInput.touches)
{
    var ray = Camera.main.ScreenPointToRay(touch.position);
    var hit : RaycastHit;

    if (touch.phase == iPhoneTouchPhase.Began)
    {    
        if (Physics.Raycast(ray,hit))
        {
            if (hit.collider.gameObject != null)
            {
                if(hit.collider.gameObject == pauseButton)
                {    
                    if(pauseGame == false)
                    {
                    // call pause game function           
                        pauseGame = true;
                    }
                    else
                    {
                        //un pause game
                        pauseGame = false;
                    }
                }
            }
        }

    }

}

}

I'm a little worried as its in update() and is constantly checking?

Thanks

Instead of raycasting, check that a rect contains the touch position.

for (var touch : iPhoneTouch in iPhoneInput.touches)
{
    if (touch.phase == iPhoneTouchPhase.Began && pauseButtonRect.Contains(touch.position))
    {

Unless the pause button is actually an object that moves around, there's no reason to use raycasting and colliders.