Version: 2022.3
Language : English
Profile an iOS device
Managed stack traces on iOS

Unity Remote

Unity Remote is a downloadable application that helps with Android, iOS, and tvOS development. Unity RemoteA downloadable app designed to help with Android, iOS and tvOS development. The app connects with Unity while you are running your project in Play Mode from the Unity Editor. More info
See in Glossary
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:

  • Touch and stylus input
  • Accelerometer
  • Gyroscope
  • Device cameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
    See in Glossary
    streams
  • Compass
  • GPS
  • Joystick names and input.

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 will 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.

Requirements and compatibility

Unity Remote supports Android, iOS, and tvOS devices.

Note: Unity Remote replaces the iOS Remote and Android Remote applications from earlier versions of Unity. Unity no longer supports these older applications.

Set up Unity Remote

To set up Unity Remote:

  1. Install the application on the target device.
  2. Connect the target device to your computer.
  3. Connect the Unity Editor to Unity Remote.

Install Unity Remote

Download and install the Unity Remote application from the App Store.

Connect the target device to your computer

Run Unity Remote then connect the target device to your computer. To do this for iOS or tvOS, use iTunes on Windows or a USB connection on macOS.

Connect Unity Remote to the Unity Editor

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:

  1. Open Editor settings (menu: Edit > Project Settings > Editor).
  2. In the Unity Remote section, set Device to the device you want to use.

Preview an application in Unity Remote

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 scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary
handle the inputs as if the scripts were running on the target device itself.

Performance

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 compressionA method of storing data that reduces the amount of storage space it requires. See Texture Compression, Animation Compression, Audio Compression, Build Compression.
See in Glossary
method is JPEG which is a lossy compression method that reduces the image quality.

Change the compression method

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:

  1. Open Editor settings (menu: Edit > Project Settings > Editor).
  2. In the Unity Remote section, set Compression to PNG.

Change the resolution

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:

  1. Open Editor settings (menu: Edit > Project Settings > Editor).

  2. In the Unity Remote section, set Resolution to Normal.

Profile an iOS device
Managed stack traces on iOS