Unity Remote is a downloadable application that helps with Android, iOS, and tvOS development. Unity Remote connects your target device to the Unity Editor and displays the visual output from the Editor on the target device’s screen at a reduced frame rate. It also sends live inputs from the target device back to the running project in Unity. This is useful to understand how an application looks and handles on the target device without creating a build.
The target device streams the following input data back to the Unity Editor:
The Unity Editor still performs the application’s actual processing on the desktop machine. This means that the performance of the application isn’t an accurate reflection of how the built application wil perform on the target device. To get a more exact assessment of the application’s performance, build the application and test the build on the target device. Another side effect of processing the application in the Unity Editor is that the target platform is the same that you set in the Editor. This means it might not be set to the platform of the device that Unity Remote is running on. This is important to know if you use platform dependent compilation to do things like read input differently depending on whether the target platform is a desktop or mobile platform. If you do this, set the target platform to the platform that Unity Remote will run on.
Unity Remote supports Android, iOS, and tvOS devices. To connect Unity Remote to an Android device, you need to have the Android SDK on your development machine. For more information, refer to Android environment setup.
Note: Unity Remote replaces the iOS Remote and Android Remote applications from earlier versions of Unity. Unity no longer supports these older applications.
To set up Unity Remote:
Download the Unity Remote application from Google Play.
Before you connect the target device to your computer, enable USB debugging on the target device. For information on how to do this, refer to Debugging on an Android device. After you enable USB debugging, run Unity Remote then connect the target device to your computer via a USB connection.
With the target device connected to your computer, the Unity Editor should be able to detect it. To connect Unity Remote on the target device to the Unity Editor:
If the Device list doesn’t include the target device, first disconnect and reconnect the target device. If that doesn’t work, make sure that the USB connection is setup correctly. To test this, you can build and run your application to check whether Unity is able to install it on the target device. For information on how to do this, refer to Build your application for Android.
Important: Unity doesn’t support Unity Remote on multiple connected Android devices. To resolve this, Unity automatically picks the first Android device it finds. If you can have multiple iOS/tvOS devices and one Android device connected at the same time. All these connected devices appear in the Device lists.
In the Editor, click the Play button to see the application appear on the target device and in the Game View. As the application runs, Unity Remote streams input back to the Unity Editor and your scripts handle the inputs as if the scripts were running on the target device itself.
When you use Unity Remote, the application actually runs in the Editor, and Unity streams the visual content to the target device. The bandwidth between the Editor and the device is limited so Unity compresses the stream for transmission. The default compression method is JPEG which is a lossy compression method that reduces the image quality.
One way to improve image quality on Unity Remote is to change the compression method to PNG. PNG is a lossless compression method that uses more bandwidth but doesn’t reduce the image quality. To change the compression method to PNG:
By default, when Unity streams the application to Unity Remote, it downsizes the application’s resolution. This results in a smaller image that reduces image quality but has a lower bandwidth requirement and produces better runtime performance. To preview your application at the application’s full resolution:
Open Editor settings (menu: Edit > Project Settings > Editor).
In the Unity Remote section, set Resolution to Normal.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.