Arrastrando y moviendo juego 2D

así como muestran mis hilos anteriores, estoy creando ungameObject de imágenes de sprites en tiempo de ejecución usando este código:

 tex = Resources.Load<Texture2D>("pig") as Texture2D;
 Sprite sprite = new Sprite();
 sprite = Sprite.Create(tex, new Rect(0, 0, 250, 150), new Vector2(0.5f, 0.5f));
 GameObject newSprite = new GameObject();
 newSprite.AddComponent<Rigidbody2D>();
 newSprite.GetComponent<Rigidbody2D>().gravityScale = 0f;
 newSprite.AddComponent<ObjectMovement>();
 newSprite.AddComponent<SpriteRenderer>();
 SR = newSprite.GetComponent<SpriteRenderer>();
 SR.sprite = sprite;

Como ves, agregué un script "ObjectMovement", Quiero comprobar en este script si alguien está arrastrando este particulargameObject y si es así, haz que siga la posición táctil, solo por mencionar que este juego es 2D. Nunca uséRaysoRaycast así que no estoy seguro de dónde me equivoqué. De todos modos aquí está mi código de script:

public SpriteRenderer selection=null;
    void Update()
    {
        if (Input.touchCount >= 1)
        {
            foreach (Touch touch in Input.touches)
            {
                Ray ray = Camera.main.ScreenPointToRay(touch.position);
                RaycastHit hit;
                switch (touch.phase)
                {
                    case TouchPhase.Began:
                        if (Physics.Raycast(ray, out hit, 100))
                            selection = hit.transform.gameObject.GetComponent<SpriteRenderer>();
                        break;
                    case TouchPhase.Moved:
                        selection.transform.position = new Vector2(selection.transform.position.x + touch.position.x / 10, selection.transform.position.y + touch.position.y / 10);
                        break;
                    case TouchPhase.Ended:
                        selection = null;
                        break;
                }
            }
        }
    }

Básicamente, al tocar la pantalla, dispara unray y verifica quégameObject está en esta posición, cuando mueva el dedo haga que lo siga. Arrastrar y soltar. Gracias.

EDITAR: Noté que el script está adjunto a cadagameObject que no es efectivo, alguna idea?

Respuestas a la pregunta(1)

Su respuesta a la pregunta