Drag in unity

Welcome to my blog, this script I use it, if I want to drag a game object in unity.

using UnityEngine;
using System.Collections;


public class Drag : MonoBehaviour
    private Vector3 screenPoint;
    private Vector3 offset;

    void OnMouseDown()

        offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));

    void OnMouseDrag()
        Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
        Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
        transform.position = curPosition;