Hi,
I am working on a 3d Paper toss game. The game works fine on my android and some other devices… but i tested it on Samsung galaxy tablet and a Samsung phone. the paper(Projectile was too fast) and the swipe direction is way off. - so the question how can i make the script below behaves the same on all Android devices Thank you

 void Update()
    {
        

        if (shootEnable && Gotothrow)
        {
           
            if (Input.touchCount > 0)
            {
                var touch = Input.touches[0];
                switch (touch.phase)
                {
                    case TouchPhase.Began:
                     
                        touchStart = touch.position;
                        break;

                    case TouchPhase.Moved:
                        if (Mathf.Abs(touch.position.x - touchStart.x) < comfortZone)
                        {
                            couldBeSwipe = false;
                        }
                        else
                        {
                            couldBeSwipe = true;
                        }
                        break;

                    case TouchPhase.Stationary:
                        if (Mathf.Abs(touch.position.x - touchStart.x) < comfortZone)
                        {
                            couldBeSwipe = false;
                        }
                        break;

                    case TouchPhase.Ended:
                        float swipeDist = (touch.position - touchStart).magnitude;
                        swipeDist= swipeDist /2.0f;
                        
                        //couldBeSwipe
                        if (couldBeSwipe || swipeDist > comfortZone)
                        {
                            GetVelocity = false;
                            touchEnd = touch.position;

                         GameObject ball = Instantiate(ballPrefab, basetothrow.position, Quaternion.identity) as GameObject;
                        
                        
                            GetAngle();
                           
                         ball.GetComponent<Rigidbody>().velocity=(new Vector3((worldAngle.x/-2), (swipeDist * Time.fixedDeltaTime), (swipeDist * 3 * Time.fixedDeltaTime)));
                         
                        }
                        break;
                    default:
                        break;


                }//end switch case
                
            }
        }
      
    }




void GetAngle()
{
   
    worldAngle = this.GetComponent<Camera>().ScreenToWorldPoint(new Vector3(touchEnd.x, touchEnd.y + 50f, ((this.GetComponent<Camera>().nearClipPlane - 73.0f))));
}

could be since Touch.position is in pixel coordinates, the the higher the screen’s resolution is, the more pixels will be traveled when swiping. You could try scaling the swipe distance to accommodate different resolutions.