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 can also be 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. After grappling for hours to get Unity Remote working on multiple computers (and a lot of frustration), I’ve decided to write a set of articles to save you the same frustration. Hopefully, this will save you from 9000 Google searches and a damaged keyboard.
For ease of access, this article has been separated into multiple sections and sub-sections, 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, you can jump straight to the Connecting and basic troubleshooting section, or to our other article for more advanced troubleshooting tricks.
- Preparing your device
- Preparing your computer
- Connecting and basic 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)
- The NDK, SDK and JDK are linked in the Editor
- Unity Remote is enabled in Project Settings
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, as Unity has phased that feature out with the release of Unity Hub.
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.
b. Ensuring the JDK, SDK and NDK are linked
Once installation for Android Build Support is complete, open your project in Unity (use the same version you’ve installed Android Build Support for). Then, go to Edit > Preferences and click on the External Tools tab.
Under the Android section of the tab, make sure that you have the following checkboxes marked (shown in the image below):
Avoid using your own SDK, NDK or JDK installations. If there are incompatibility issues, it will stop Unity Remote from working.
c. Enabling Unity Remote in the Editor
Finally, head to the window at Edit > Project Settings, and select the Editor tab (refer to the image below).
In the tab, set the Device field to Any Android Device. This will enable the Unity Editor to interface with the Unity Remote app on your phone.
Your Unity Editor is now ready for Unity Remote (hopefully).
Keep your fingers crossed as you scroll down to the next section.
Looking for the section on installing Google USB Driver? We’ve actually found that it was not necessary for some computers to get Unity Remote working, so we’ve moved it to our other article. Here’s a direct link.
Article continues after the advertisement:
3. Connecting and basic troubleshooting
a. Allow USB debugging
To connect Unity Remote to your Editor, fire up the Unity Remote, and connect it to your computer using a USB cable. If you get an Allow USB debugging prompt on your Android device, consider yourself extremely lucky, because that means Unity has detected it.
Press OK to allow USB debugging. Then, enter Play Mode in the Editor. You should get some lag the first time you do it (on your desktop, Android device, or both), but Unity Remote should eventually mirror your Game screen.
If that happens, you’re done. You can close this article now.
Sometimes, it takes entering Play Mode a couple of times before Unity Remote starts working. If you have the USB debugging prompt, it is very likely that Unity will start working after a few tries.
Otherwise, if you’ve got…
b. No USB debugging prompt
That means that your Android device is unable to connect to the Unity Editor. There are a plethora of reasons that can be the cause of this, and a whole gamut of methods that can potentially fix this. Before we try the more complex methods, however, you’d want to:
- Double-check that you have set Unity Editor to use Any Android device. Refer to this section above if you don’t know what I’m talking about.
- Make sure you are in the Unity Remote app on your Android device. It only works if the app is on. Yes, it’s an obvious point — I’m just making sure.
- Try a different USB wire and / or a different USB port. Some USB wires and ports are for charging only, and aren’t able to transmit data.
- Disconnect and re-connect your USB wire a couple of times. Your computer might not have detected your Android device the first (few) time.
If the above didn’t work, then I’ll recommend you head over to our other article titled More tricks to get Unity Remote for Android working on Windows. That whole article (mostly) is about the various things you can install or tweak in your Editor and your Android device to get the USB debugging prompt to register.
Alternatively, you can also try the following methods. People have reported that some of these worked for them. It has never worked for me, however:
- Close and re-open Unity on your computer. Sometimes this does the trick.
- Restart Unity Remote on your Android device. Other times, this does the trick.
- Restart your computer and / or your Android device. If you’re really unfortunate, this is what will do the trick.
- Do (5), (6) and (7) in random order for several times. Sometimes, the order in which the apps are opened can affect whether the connection is detected.
- 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.
Another helpful note: 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.
I hope that this article has been helpful to you in some way. If not, you can head over to our other article for more things you can try to get Unity Remote working, or read the comments section to see what has worked for other people.
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 (or the other one);
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.
Article continues after the advertisement: