State of the Unity Remote App - and why is my input so wrong compared to a build?

Is the Unity Remote App still being maintained and relevant/recommended for production use?

I’m not sure if I should report this as a bug since I know that a remote is only an approximation to a real mobile device. It doesn’t capture performance or visual quality and isn’t entirely accurate input-wise. However, I feel like at least input should be “functionally” correct, because if I can’t test multi-touch in the editor via the remote, why would I even use the remote, if I have to double-check each iteration with a real build anyway?

I’ve run into the following issue. A simple touch-drag to pan a perspective camera script like this works perfectly fine in a real build on device:

if (Input.touchCount == 1)
{
    Touch touch0 = Input.GetTouch(0);
    Vector2 touch0Pos = touch0.position;
    Vector2 previousTouch0Pos = touch0Pos - touch0.deltaPosition;

    float distance = Mathf.Abs(transform.position.z);
    Vector3 touchWorld = cam.ScreenToWorldPoint(
        new Vector3(touch0Pos.x, touch0Pos.y, distance));

    Vector3 touchWorldPrevious = cam.ScreenToWorldPoint(
        new Vector3(previousTouch0Pos.x, previousTouch0Pos.y, distance));

    Vector3 panDelta = touchWorld - touchWorldPrevious;
    cam.transform.position -= panDelta;
}

When dragging on an object in the scene at the defined distance, it stays nicely locked underneath the finger as the camera moves.

However, the same code run on the Unity Remote App will produce wildly different results. The camera moves twice as fast and objects stay nowhere near the finger. This makes it completely unreliable to test with the remote.

So is this really some limitation with how the remote works or a bug in the touch or remote API or what might be wrong here?

Your code is screen-size dependent. Please try to set the Game Window resolution to match your mobile device’s resolution.