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, you need:
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.
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.
This section covers specific requirements needed to deploy an application to platforms supported by ArcGIS Maps SDK for Unity.
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.
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 on building Android apps, visit Unity's documentation: Developing for Android.
ArcGIS Maps SDK for Unity relies on OpenSSL to access online services over HTTPS. The plugin comes with support for OpenSSL, but the OpenSSL libraries are not part of this plugin, so they should be included in the Unity project. Although prebuilt binaries can be found on the Internet, building OpenSSL from source is recommended.
ArcGIS Maps SDK for Unity expects the OpenSSL binaries to be named libcrypto_1_1.so and libssl_1_1.so. The plugin will try to load them at run-time. If they are not present, only access to online services over HTTP will be enabled. The binaries don't need to be located in any particular folder but
<architecture> can be either
armv7) is normally recommended.
Once the binaries have been included to the Unity project, their Import settings should be set correctly for the target platform and architecture. See the example below for ARM64:
Because the plugin uses its own HTTP stack implementation, Internet Access has to be set to Require in the Other Settings section of the Player Settings configuration panel.
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 > Configuration > Scripting Backend, switch to IL2CPP. Then uncheck ARMv7 and check ARM64.
Make sure your application matches the minimum Android SDK version supported by ArcGIS Maps SDK for Unity. See system requirements.
For information on building apps for iOS, visit Unity's documentation: Getting started with iOS development.
Deploying applications built with ArcGIS Maps SDK for Unity requires installation of Microsoft Visual C++ Redistributable for Visual Studio 2019 or later. For information on building for the standalone Windows platform, visit the Unity's documentation: Windows Player build binaries page.
In order 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 Unity's documentation: Getting Started with UWP.
For information on building applications for macOS, visit Unity's documentation: Building your macOS application.