Deployment

You can deploy apps to the Windows, macOS, Android, and iOS platforms from Unreal Engine 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 Unreal Engine, you need:

  1. An ArcGIS account.

  2. To follow the General guidelines.

General deployment settings

Deep linking for OAuth

If your OAuth challenge handler is based on deep linking, make sure you set up your Unreal Engine project to enable it. To do this, the Android manifest should be modified using an APL file.

Use dark colors for code blocksCopy
                  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<androidManifestUpdates>
    <loopElements tag="activity">
        <setStringFromAttribute result="activityName" tag="$" name="android:name" />
        <setBoolIsEqual result="bGameActivity" arg1="$S(activityName)" arg2="com.epicgames.ue4.GameActivity" />
        <if condition="bGameActivity">
            <true>
                <addElements tag="$">
                    <intent-filter>
                        <action android:name="android.intent.action.VIEW" />
                        <category android:name="android.intent.category.DEFAULT" />
                        <category android:name="android.intent.category.BROWSABLE" />
                        <data android:scheme="unreal" android:host="auth" />
                    </intent-filter>
                </addElements>
            </true>
        </if>
    </loopElements>
</androidManifestUpdates>

Platform specific requirements

Mobile

To deploy an app to a mobile device, you can find more information on the Unreal Engine Mobile Game Development page.

Android

For documentation specific to the Android platform, refer to the Android Game Development page.

Online services over HTTPS

ArcGIS Maps SDK for Unreal Engine 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 you should include them in your Unreal project. Although pre-built binaries can be found on the Internet, it is recommended to build OpenSSL from source.

ArcGIS Maps SDK for Unreal Engine 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.

Once the binaries have been included to the Unreal project, a APL/UPL XML file should be used to include them in the APK.

You can use the following example which assumes the OpenSSL binaries were placed in (PluginDir)/Binaries/Android.

Use dark colors for code blocksCopy
                           
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="utf-8"?>
<!-- steps to add to build additions -->
<root xmlns:android="http://schemas.android.com/apk/res/android">
	<!-- init section is always evaluated once per architecture -->
	<init>
		<setBool result="bSupported" value="false"/>
		<isArch arch="arm64-v8a">
			<setBool result="bSupported" value="true"/>
		</isArch>
	</init>

	<!-- optional files or directories to copy to Intermediate/Android/APK -->
	<resourceCopies>
		<isArch arch="arm64-v8a">
			<log text="Copying libcrypto_1_1.so"/>
			<copyFile
				src="$S(PluginDir)/Binaries/Android/arm64/libcrypto_1_1.so"
				dst="$S(BuildDir)/libs/arm64-v8a/libcrypto_1_1.so"
			/>
			<log text="Copying libssl_1_1.so"/>
			<copyFile
				src="$S(PluginDir)/Binaries/Android/arm64/libssl_1_1.so"
				dst="$S(BuildDir)/libs/arm64-v8a/libssl_1_1.so"
			/>
		</isArch>
	</resourceCopies>
</root>

Make sure you include this file by using the following line of code in the Build.cs file of your project.:

Use dark colors for code blocksCopy
 
1
AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "Android_OpenSSL_UPL.xml"));

iOS

For documentation specific to the iOS platform, refer to the iOS Game Development page.

Desktop

Windows

Desktop applications for Windows: Deploying applications built with ArcGIS Maps SDK for Unreal Engine requires installation of Microsoft Visual C++ Redistributable for Visual Studio 2019 or later.

macOS

For information on building applications for macOS, visit Packaging Projects in the Unreal Engine documentation.

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