Deployment

You can deploy apps to the Windows, macOS, Android, and iOS platforms from Unity with ArcGIS location services. No matter what type of application you build, there are guidelines and Terms of Use you need to review before you deploy.

Distributing applications

Applications may be deployed using a variety of installer technologies, such as executable file (.exe), or to the Google Play store, Apple App Store, Microsoft Store, or ArcGIS Marketplace.

To build and deploy an application developed with ArcGIS Maps SDK for Unity, you should:

  1. Have an ArcGIS account.

  2. Follow the General guidelines.

  3. Attribute Esri in your app.

  4. Use a valid access token to access ArcGIS location services.

Attribute Esri in your app

When you use Esri technology, you must include Esri attribution and data attribution. This includes applications that use any ArcGIS API, SDK, service, content, or data. Attribution is required for all applications that either contain a map or do not contain a map. These requirements are outlined in detail in the Attribution topic.

General deployment settings

Your app needs to set a Player Setting to enable internet access. Go to File > Build settings > Player settings > Other Settings, find Internet Access and select Require from the dropdown menu.

Deep linking for OAuth

If your OAuth challenge handler is based on deep linking (only available on Android, iOS, and UWP), make sure you set up your Unity project to enable it. See Unity's documentation: Deep linking for more information.

Platform-specific requirements

This section covers the specific requirements needed to deploy an application to platforms supported by ArcGIS Maps SDK for Unity.

Mobile

HDRP uses compute shaders and most mobile devices don't support it. When you target mobile platforms, make sure you have the URP pipeline installed, and select URPipeline in Edit > Project Settings > Graphics, after you switch to mobile development in Build Settings. If you have both URP and HDRP installed, you will also need to uninstall the HDRP pipeline in Window > Package Manager.

Android

To build apps for Android, make sure your project is set up with the correct build environment. Visit Unity's documentation: Android environment setup for more information.

For information about building Android apps, visit Unity's documentation: Developing for Android.

Set the correct architecture

Check your device's CPU architecture (ARM64 or ARMv7) before deploying. By default, Unity targets ARMv7. If your device uses ARM64, in Edit > Project Settings > Player > Other Settings > Configuration > Scripting Backend, switch to IL2CPP. Then uncheck ARMv7 and check ARM64.

Minimum SDK Version

Make sure your application matches the minimum Android SDK version supported by ArcGIS Maps SDK for Unity. See system requirements.

iOS

For information on building apps for iOS, visit Unity's documentation: Getting started with iOS development.

Apple privacy manifest

Starting May 1, 2025, Apple is introducing a privacy policy for including privacy manifest files in new and updated applications targeted for iOS, iPadOS, and tvOS platforms on the App Store. Note that macOS apps are currently excluded from this policy.

The ArcGIS Maps SDK for Unity provides a privacy manifest, which is automatically included in your app upon deployment. As an app developer, you should identify APIs that you are using in your own code and, if needed, provide your own privacy manifest for them.

Desktop

To build standalone apps for Windows or macOS, set up your project for the target platform. For information about platform-specific settings, visit Unity's documentation: Player and Build Settings.

Windows

Deploying applications built with ArcGIS Maps SDK for Unity requires the installation of Microsoft Visual C++ 2015-2022 Redistributable. For information about building for the standalone Windows platform, visit the Unity documentation: Windows Player build binaries page.

UWP

To access online services, check the InternetClient capability checkbox in the Publishing Settings section of the Player Settings configuration panel. If you require access to OAuth-protected services and your OAuth challenge handler is based on a local HTTP server, consider using InternetClientServer instead.

If you need to access services hosted on a server using an SSL certificate issued by an internal (or non-public) authority, consider using PrivateNetworkClientServer.

To build for the Universal Windows Platform, visit the Unity documentation: Getting started with Universal Windows Platform.

macOS

For information about building applications for macOS, visit the Unity documentation: Building your macOS application.

Linux

For information about building applications for Linux, visit the Unity documentation: Build a Linux application (Unity 6) or Unity documentation: Build a Linux application (Unity 2022.3).

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.