Deployment

To deploy an ArcGIS Maps SDK for Unreal Engine app, see Build Operations: Cook, Package, Deploy, and Run from the Unreal Engine documentation.

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.

Mobile-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:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?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="armeabi-v7a">
			<setBool result="bSupported" value="true"/>
		</isArch>
		<isArch arch="arm64-v8a">
			<setBool result="bSupported" value="true"/>
		</isArch>
	</init>

	<!-- optional files or directories to copy to Intermediate/Android/APK -->
	<resourceCopies>
		<isArch arch="armeabi-v7a">
			<log text="Copying libcrypto_1_1.so"/>
			<copyFile
				src="$S(PluginDir)/Binaries/Android/armv7/libcrypto_1_1.so"
				dst="$S(BuildDir)/libs/armeabi-v7a/libcrypto_1_1.so"
			/>
			<log text="Copying libssl_1_1.so"/>
			<copyFile
				src="$S(PluginDir)/Binaries/Android/armv7/libssl_1_1.so"
				dst="$S(BuildDir)/libs/armeabi-v7a/libssl_1_1.so"
			/>
		</isArch>
		<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>

The example XML assumes the OpenSSL binaries were placed in Binaries\Android relative to the XML file.

Make sure you include this file by using the following line of code:

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

in the ArcGISSamples\ArcGISSamples.Build.cs file of your project.

Mobile-Deep linking for OAuth

If your OAuth challenge handler is based on deep linking, make sure you set up your Unreal 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>

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.

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