Возможно, движение на устройстве android слишком маленькое, чтобы его можно было заметить. Попробуйте умножить скорость на дельту времени, а затем настроить значение скорости, чтобы достичь желаемой скорости движения.
rb2d.velocity = new Vector2(direction.x , direction.y) * speed * Time.deltaTime;
Убедитесь, что скрипт присоединен к игровому объекту с помощью компонента Rigidbody2D. Кроме того, если ваш компьютер не поддерживает сенсорный ввод, вы можете использовать ввод с помощью мыши для получения одинакового результата на компьютере и мобильном устройстве.
if (Input.GetMouseButtonUp(0))
{
rb2d.velocity = Vector2.zero;
}
else if (Input.GetMouseButton(0))
{
touchPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
touchPosition.z = 0;
direction = (touchPosition - transform.position);
rb2d.velocity = new Vector2(direction.x, direction.y) * speed * Time.deltaTime;
}
Этот код также работает на мобильных устройствах.