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 need:
-
An ArcGIS account.
-
To follow the General guidelines.
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.
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.
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.