30 July 2020: We’ve updated the article with helpful comments from past readers. Thanks for all your contributions!
If you’re developing a game for Android on Unity, Unity Remote is an irreplaceable tool that allows you to quickly test your game on your Android device using Unity’s built-in Play-in-Editor feature. Unfortunately, it is also pretty difficult to get Unity Remote to work, since it requires some very specific configurations on both your Android device and your computer.
Available solutions online are often incomplete, inaccurate, or outdated (Unity Remote was released more than 4 years ago, and the Android development scene is very different from how it was then), so you often have to piece solutions from multiple sources to get one that works. Hence, after recently grappling with getting Unity Remote to work on a handful of my own computers, I’ve decided to write an article outlining the most important steps for getting Unity Remote to work. Hopefully, this will save you from having to do over 9000 Google searches like I did.
For ease of access, this article has been separated into multiple sections and sub-sections, all of which are listed below. If you’ve already gone through some steps to set up Unity Remote, and don’t want to read through the whole article, I suggest checking out sections 2 and 3 and trying the steps that you’ve yet to try.
- Preparing your device
- Preparing your computer
- Connecting and troubleshooting
1. Preparing your device
For Unity Remote to work, you need to make sure your Android device has:
a. Enabling USB debugging
To enable USB debugging on your Android device, you first need to un-hide the Developer Options tab in your device settings by finding and tapping the Build number sub-tab 7 times.
The location Build number is slightly different for every Android device, so you need to do a bit of searching. For most devices, it should be found somewhere inside Settings > About phone or Settings > About device.
Once that is done, find your way into the newly-revealed Developer Options tab under your device settings, and enable USB debugging.
b. Installing Unity Remote 5
Remember to also install the Unity Remote 5 app onto your Android device. Once you are done with that, you can move on to configuring your computer.
Article continues after the advertisement:
2. Preparing your computer
For Unity Remote to work with your computer (and Unity installation), you’ll need to make sure that:
- Android Build Support for Unity is installed (with Unity-native Android SDK and NDK Tools, and OpenJDK)
- You have the Google USB Driver installed.
a. Installing Android Build Support for Unity
Android Build Support is a Unity Editor extension that adds a suite of features for designing games on Android devices. To add it to an existing Unity installation, open Unity Hub and head to the Installs tab. Click on the dropdown of the Unity version you want to install Android Build Support for, then select Add Modules.
If your version of Unity was not installed with Unity Hub, you’ll want to uninstall it and re-install it using Unity Hub. You won’t be able to add modules onto independent installations of Unity.
Check the Android Build Support, then click on the dropdown beside it to make sure that Unity’s native Android SDK and NDK Tools, as well as OpenJDK, are checked too. Once that is done, click on Next and agree to the terms and conditions pop-up to start installing these extensions.
Android SDK and NDK Tools and OpenJDK are only available to Unity 2019.1 and above. If you are using an older version of Unity, you will have to download these packages yourself and link them to Unity under Edit > Preferences > External Tools. Consider upgrading, as Unity is very specific with the versions of the SDK and JDK its Android Build Support module can work with.
Once installation is complete, open your project with the Unity Editor that you’ve just installed Android Build Support for. Go to Edit > Preferences and click on the External Tools tab. You should have the following checkboxes marked:
Avoid using your own SDK, NDK or JDK installations. If there are incompatibility issues, it will stop Unity Remote from working.
Then, head to Edit > Project Settings and go to the Editor tab. Set the Device field to Any Android Device.
Your Unity Editor is now ready to interface with Unity Remote.
b. Installing Google USB Driver
Some computers don’t seem to need Google USB Driver to get Unity Remote working, so if you’re feeling lucky, you can skip right to Connecting and Troubleshooting to try getting Unity Remote working first.
There are two ways of installing the Google USB Driver:
For most modern computers, only (2) works, but you should give (1) a try first, as (2) requires installing Android Studio first.
To install the Google USB Driver on your computer, you will need to head to this page, click on the download link and accept the terms & conditions pop-up. The downloaded file is a ZIP, which you’ll need to unzip.
To make use of the unzipped files, you’ll need to connect your Android device to your computer and open the Computer Management application. If you can’t find it, click on Start and type in the app’s name to search for it.
When inside the application, select Device Manager and find your attached Android device under Portable Devices. Right-click and select Update driver.
Note: Sometimes you will find your mobile in Device Manager > Universal Serial Bus Devices instead of Portable Devices. Thanks to fibrizo for the heads up.
In the pop-up that appears, select Browse my computer for driver software on the window that pops up. Then, select the unzipped Google USB Driver folder (making sure to check Include subfolders) to install.
Through Android Studio’s SDK Manager
If the above steps do not work for you, you can also install Android Studio, then install Google USB Driver using its SDK Manager.
If the SDK Manager window does not show, you can click on Settings below it to access the same window. Then, do a search for SDK Manager to find the window (as pictured below). If you can’t access the window, check if the Android SDK Location (again, as pictured below) is set.
The SDK Manager looks like the image below. You’ll find the Google USB Driver under Android SDK > SDK Tools.
Article continues after the advertisement:
3. Connecting and troubleshooting
With all of the above settings applied, and the requisite software installed, you should be able to run Unity Remote. Fire up the Unity Remote app on your Android device, then connect it to your computer. If you get a prompt on your Android device about allowing USB debugging, allow it.
Try playing your Android Unity project on your computer, with the Unity Remote app running on your Android device (i.e. it must be on your screen). If you are extremely lucky, you will experience a stutter on your Unity Editor, followed by Unity Remote emulating your game screen. For most of you, that probably won’t do the trick. In that case, try the following, in order:
- Double-check that you have set Unity Editor to use Any Android device. Refer to this section above again for details.
- Disconnect and re-connect your USB wire. Your computer might not have detected your Android device the first time.
- Try a different USB wire and / or a different USB port. Some USB wires and ports aren’t able to transmit data.
- Close and re-open Unity on your computer. Sometimes this does the trick.
- Restart Unity Remote on your Android device. Sometimes, this is what does the trick.
- Restart your computer and / or your Android device. If you’re really unfortunate, this is what will do the trick.
- Do (2), (3), (4) and (5) in random order for several times. This occasionally works. You can also try (6) first before doing this step.
You can also try the following methods as a last-ditch effort. People have reported that some of these worked for them:
- Restart both the Unity Editor (on the computer) and Unity Remote (on your device), then plug in your device with both applications on. Some computers are very particular about this sequence.
- Try using a different device, then restart your original device and try it again. If it works on the other device, it means you are doing something right!
- Try running Unity Remote on a different Unity project, then go back to your original one. Weird, but this has worked for people too.
If you notice that when your device is connected but not detecting, or it is only charging but not connecting (i.e. you can’t access the files on your device), check out this article from another site.
If you still can’t get Unity Remote to work, we have another article titled More tricks to get Unity Remote for Android working on Windows. This is an article outlining the use of the Android Debug Bridge (adb) to check if your computer is able to detect your device, as well as a couple of other obscurities.
Lastly, if you:
- Find any errors in this article, or;
- Find a method that gets Unity Remote to work, that is not listed in this article;
Please leave a comment with the details! This article will be constantly updated with new findings, and you’ll be doing a public service to everyone else who is or will be going through the same battle of getting Unity Remote to work.
Update 24 August 2020: Many helpful readers have contributed to this article with their own findings in the comments section below, so give it a read!
Article continues after the advertisement: