Unreal HandheldAR template: Couldn't find file for package /Script/AugmentedReality requested by async loading code

I’ve created an unmodified project using the HandheldAR template, and deployed it to an iPad after building via a remote Mac build server (while it’s a Blueprint-only project, a Mac is still required to build AR application).

Project builds and deploys to the device without errors, and certificates report that they’re valid, but when I attempt to launch it on the iPad, the default project splashscreen appears, and then the device dumps back to the home screen. Application still appears as a running app, but if I attempt to switch back to it, it just bounces back to the home screen.

Other Blueprint-only UE4 projects deployed from the same machine work as expected on the device.

From the log below, it appears that /Script/AugmentedReality failed to load.

[2018.08.03-17.56.36:622][  0]LogAIModule: Creating AISystem for world HandheldARBlankMap
[2018.08.03-17.56.36:625][  0]LogStreaming: Error: Couldn't find file for package /Script/AugmentedReality requested by async loading code. NameToLoad: /Script/AugmentedReality
[2018.08.03-17.56.36:625][  0]LogStreaming: Error: Found 1 dependent packages...
[2018.08.03-17.56.36:625][  0]LogStreaming: Error:   /Game/HandheldARBP/Blueprints/GameFramework/BP_ARPawn
[2018.08.03-17.56.36:628][  0]LogStreaming: Error: ****DumpDependencies [Dependencies]:
[2018.08.03-17.56.36:628][  0]LogStreaming: Error:     Export 1 /Game/HandheldARBP/D_ARSessionConfig.D_ARSessionConfig
[2018.08.03-17.56.36:628][  0]LogStreaming: Error:     Linker is ../../../HandheldAR/Content/HandheldARBP/D_ARSessionConfig.uasset
[2018.08.03-17.56.36:628][  0]LogStreaming: Error:         Dep S_BEFORE_C Import     1   /Script/AugmentedReality.ARSessionConfig
[2018.08.03-17.56.36:628][  0]LogStreaming: Error:         Dep S_BEFORE_C Import     0   /Script/AugmentedReality.Default__ARSessionConfig
[2018.08.03-17.56.36:628][  0]LogStreaming: Error: Missing Dependency, request for /Script/AugmentedReality.ARSessionConfig but it hasn't been created yet.
[2018.08.03-17.56.36:628][  0]LogStreaming: Error: Could not find class ARSessionConfig to create D_ARSessionConfig
[2018.08.03-17.56.36:633][  0]LogProperty: Error: Struct type unknown for property 'StructProperty /Game/HandheldARBP/Blueprints/UI/BP_DebugMenu.BP_DebugMenu_C:UpdateDebugMenuInfo.CallFunc_GetARSessionStatus_ReturnValue'; perhaps the USTRUCT() was renamed or deleted?
[2018.08.03-17.56.36:633][  0]LogProperty: Error: Struct type unknown for property 'StructProperty /Game/HandheldARBP/Blueprints/UI/BP_DebugMenu.BP_DebugMenu_C:ToggleARMode.CallFunc_GetARSessionStatus_ReturnValue'; perhaps the USTRUCT() was renamed or deleted?
[2018.08.03-17.56.36:633][  0]LogProperty: Error: Struct type unknown for property 'StructProperty /Game/HandheldARBP/Blueprints/UI/BP_DebugMenu.BP_DebugMenu_C:InitializeDebugButtonStates.CallFunc_GetARSessionStatus_ReturnValue'; perhaps the USTRUCT() was renamed or deleted?
[2018.08.03-17.56.36:634][  0]LogProperty: Error: Struct type unknown for property 'StructProperty /Game/HandheldARBP/Blueprints/GameFramework/BP_ARPawn.BP_ARPawn_C:ExecuteUbergraph_BP_ARPawn.CallFunc_LineTraceTrackedObjects_ReturnValue.CallFunc_LineTraceTrackedObjects_ReturnValue'; perhaps the USTRUCT() was renamed or deleted?
[2018.08.03-17.56.36:639][  0]LogLoad: Game class is 'BP_ARGameMode_C'
[2018.08.03-17.56.36:640][  0]LogWorld: Bringing World /Game/HandheldARBP/Maps/HandheldARBlankMap.HandheldARBlankMap up for play (max tick rate 0) at 2018.08.03-10.56.36
[2018.08.03-17.56.36:640][  0]LogWorld: Bringing up level for play took: 0.000401
[2018.08.03-17.56.36:640][  0]LogGameMode: FindPlayerStart: PATHS NOT DEFINED or NO PLAYERSTART with positive rating
[2018.08.03-17.56.36:642][  0]LogUMG: Display: Widget Class BP_MainMenu_C - Loaded Fast Template.
[2018.08.03-17.56.36:643][  0]LogUMG: Display: Widget Class BP_DebugMenu_C - Loaded Fast Template.
[2018.08.03-17.56.36:644][  0]LogScript: Warning: Accessed None
	BP_DebugMenu_C /Engine/Transient.GameEngine_0:GameInstance_0.BP_DebugMenu_C_0
	Function /Game/HandheldARBP/Blueprints/UI/BP_DebugMenu.BP_DebugMenu_C:InitializeDebugButtonStates:001C
[2018.08.03-17.56.36:644][  0]LogScript: Warning: Script call stack:
	Function /Game/HandheldARBP/Blueprints/UI/BP_DebugMenu.BP_DebugMenu_C:Construct
	Function /Game/HandheldARBP/Blueprints/UI/BP_DebugMenu.BP_DebugMenu_C:ExecuteUbergraph_BP_DebugMenu
	Function /Game/HandheldARBP/Blueprints/UI/BP_DebugMenu.BP_DebugMenu_C:InitializeDebugButtonStates

[2018.08.03-17.56.36:644][  0]LogOutputDevice: Warning: 

Script Stack:
BP_DebugMenu_C.InitializeDebugButtonStates
BP_DebugMenu_C.ExecuteUbergraph_BP_DebugMenu
BP_DebugMenu_C.Construct
BP_ARPawn_C.ExecuteUbergraph_BP_ARPawn
BP_ARPawn_C.ReceiveBeginPlay

iPad specs:

  • Capacity: 64 GB, Available: 51.35 GB
  • Version: 11.4.1 (15G77)
  • Model: MQDT2LL/A (Apple 10.5" iPad Pro (64GB, Wi-Fi, Space Gray))

It appears that the issue was simply that the Apple ARKit plugin was not enabled. Enabling it and rebuilding resolved the issue.

D’oh. Looks like the AR template doesn’t have the plugin enabled. Thanks for the help.