Good evening, morning, or whatever time of day anyone reading this post is currently in. I am a college student and for my final 2 projects for my game development course this semester, I have decided to begin prototyping a VR RPG. I don’t expect to create much more than a couple prototype demo areas and a rudimentary melee combat system, but went ahead and setup a project to run on my Oculus Quest 2. When trying to launch the game natively on the device using the Launch feature in UE4, the build crashes and the game won’t run in headset. I have set the target as the quest, made sure that android was a supported platform, and followed the instructions to set up oculus mobile development for UE4.26. Below is the code that was in the output log and I’ve googled for nearly 30 minutes with no luck thus far and I hope that someone here might have encountered a similar issue to mine and can help me fix it.
LogPlayLevel: Completed Launch On Stage: Cooking in the editor, Time: 0.000045
LogD3D11RHI: CreateSwapChainForHwnd failed with result ‘DXGI_ERROR_INVALID_CALL’ (0x887A0001), falling back to legacy CreateSwapChain.
LogPlayLevel: Running AutomationTool…
LogPlayLevel: Parsing command line: -ScriptsForProject=“E:/Unreal Projects/VR_RPG/VR_RPG.uproject” BuildCookRun -project=“E:/Unreal Projects/VR_RPG/VR_RPG.uproject” -noP4 -clientconfig=Development -serverconfig=Development -nocompile -nocompileeditor -installed -ue4exe=“E:\Unreal Engine\UE_4.26\Engine\Binaries\Win64\UE4Editor-Cmd.exe” -utf8output -platform=A
ndroid -targetplatform=Android -cookflavor=ASTC -ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=Disabled -build -map=/Game/VREP/01 -skipcook -CookInEditor -iterativecooking -compressed -iterativedeploy -stage -deploy -cmdline="/Game/VREP/01 -Messaging" -device=Android_ASTC@1WMHH830S30503 -addcmdline="-SessionId=5FA8A3524D17B
68E87B89081AA135D07 -SessionOwner=‘dakot’ -SessionName=‘Launch On Device’ " -run
LogPlayLevel: Setting up ProjectParams for E:\Unreal Projects\VR_RPG\VR_RPG.uproject
LogPlayLevel: Error: ERROR: System.ArgumentException: An item with the same key has already been added.
LogPlayLevel: at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
LogPlayLevel: at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) LogPlayLevel: at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable
1 source, Func2 keySelector, Func
2 elementSelector, IEqualityComparer1 comparer) LogPlayLevel: at AutomationTool.ProjectUtils.RequiresTempTarget(FileReference RawProjectPath, Boolean bProjectHasCode, UnrealTargetPlatform Platform, UnrealTargetConfiguration Configuration, TargetType TargetType, Boolean bRequiresAssetNativization, Boolean bRequiresCookedData, String& OutReason) in D:\Build\++UE4\Sync\Engine\Source\Programs\Automa tionTool\AutomationUtils\ProjectUtils.cs:line 208 LogPlayLevel: at AutomationTool.ProjectUtils.RequiresTempTarget(FileReference RawProjectPath, List
1 Platforms, List1 Configurations, Boolean AssetNativizationRequested) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\ProjectUtils.cs:line 155 LogPlayLevel: at AutomationTool.ProjectUtils.DetectProjectProperties(FileReference RawProjectPath, List
1 ClientTargetPlatforms, List1 ClientTargetConfigurations, Boolean AssetNativizationRequested) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\ProjectUtils.cs:line 533 LogPlayLevel: at AutomationTool.ProjectUtils.GetProjectProperties(FileReference RawProjectPath, List
1 ClientTargetPlatforms, List1 ClientTargetConfigurations, Boolean AssetNativizationRequested) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\ProjectUtils.cs:line 99 LogPlayLevel: at AutomationTool.ProjectParams.AutodetectSettings(Boolean bReset) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\ProjectParams.cs:line 2046 LogPlayLevel: at AutomationTool.ProjectParams..ctor(FileReference RawProjectPath, BuildCommand Command, String Device, String MapToRun, String AdditionalServerMapParams, ParamList
1 Port, String RunCommandline, String StageCommandline, String BundleName, String StageDirectoryParam, String UE4Exe, String SignPak, List1 ClientConfigsToBuild, List
1
ServerConfigsToBuild, ParamList1 MapsToCook, ParamList
1 MapIniSectionsToCook, ParamList1 DirectoriesToCook, String DDCGraph, String InternationalizationPreset, ParamList
1 CulturesToCook, ParamList1 ClientCookedTargets, ParamList
1 EditorTargets, ParamList1 ServerCookedTargets, List
1 ClientTargetPlatforms, Dictionary2 ClientDependentPlatformMap, List
1 ServerTargetPlatforms, Dictionary2 ServerDependentPlatformMap, Nullable
1 Build, Nullable1 SkipBuildClient, Nullable
1 SkipBuildEditor, Nullable1 Cook, Nullable
1 Run, Nullable1 SkipServer, Nullable
1 Clean, Nullable1 Compressed, String AdditionalPakOptions, String AdditionalIoStoreOptions, Nullable
1 IterativeCooking, String IterateSharedCookedBuild,
Nullable1 IterateSharedBuildUsePrecompiledExe, Nullable
1 CookAll, Nullable1 CookPartialGC, Nullable
1 CookInEditor, String CookOutputDir, Nullable1 CookMapsOnly, Nullable
1 CookOnTheFly, Nullable1 CookOnTheFlyStreaming, Nullable
1 UnversionedCookedContent, Nullable1 EncryptIniFiles, Nullable
1 EncryptPakIndex, Nullable1 EncryptEverything, Nullable
1
SkipCookingEditorContent, Nullable1 NumCookersToSpawn, String AdditionalCookerOptions, String BasedOnReleaseVersion, String CreateReleaseVersion, String CreateReleaseVersionBasePath, String BasedOnReleaseVersionBasePath, Nullable
1 GeneratePatch, Nullable1 AddPatchLevel, Nullable
1 StageBaseReleasePaks, Nullable1 GenerateRemaster, String DiscVersion, Stri ng DLCName, String DiffCookedContentPath, Nullable
1 DLCIncludeEngineContent, Nullable1 DLCPakPluginFile, Nullable
1 DLCActLikePatch, Nullable1 CrashReporter, Nullable
1 DedicatedServer, Nullable1 Client, Nullable
1 Deploy, String DeployFolder, String GetFile, Nullable1 FileServer, Nullable
1 Foreign, Nullable1 ForeignCode, Nullable
1 LogWindow, Nullabl
e1 NoCleanStage, Nullable
1 NoClient, Nullable1 NoDebugInfo, Nullable
1 SeparateDebugInfo, Nullable1 MapFile, Nullable
1 NoXGE, Nullable1 SkipPackage, Nullable
1 Package, Nullable1 Pak, Nullable
1 IgnorePaksFromDifferentCookSource, Nullable1 IoStore, Nullable
1 SkipIoStore, Nullable1 Prereqs, String AppLocalDirectory, Nullable
1 NoBootstrapExe, Nullab
le1 SignedPak, Nullable
1 PakAlignForMemoryMapping, Nullable1 NullRHI, Nullable
1 FakeClient, Nullable1 EditorTest, Nullable
1 RunAutomationTests, String RunAutomationTest, Nullable1 CrashIndex, Nullable
1 SkipCook, Nullable1 SkipCookOnTheFly, Nullable
1 SkipPak, Nullable1 PrePak, Nullable
1 SkipStage, Nullable1 Stage, Nullable
1 Manifests, Nullable1 CreateChunkInstall, Nullable
1 Unattended, Nullable1 NumClients, Nullable
1 Archive, String ArchiveDirectoryParam, Nullable1 ArchiveMetaData, Nullable
1 CreateAppBundle, String SpecifiedClientTarget, String SpecifiedServerTarget, ParamList1 ProgramTargets, Nullable
1 Distribution, Nullable1 Prebuilt, Nullable
1 RunTimeoutSeconds, String SpecifiedArchite
cture, String UbtArgs, String AdditionalPackageOptions, Nullable1 IterativeDeploy, Nullable
1 FastCook, Nullable1 IgnoreCookErrors, Nullable
1 RunAssetNativization, Nullable1 CodeSign, Nullable
1 TreatNonShippingBinariesAsDebugFiles, Nullable1 UseExtraFlavor, String Provision, String Certificate, String Team, Boolean AutomaticSigning, ParamList
1 InMapsT
oRebuildLightMaps, ParamList1 InMapsToRebuildHLOD, ParamList
1 TitleID) in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\ProjectParams.cs:line 1084
LogPlayLevel: at BuildCookRun.SetupParams() in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:line 46
LogPlayLevel: at BuildCookRun.ExecuteBuild() in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:line 37
LogPlayLevel: at AutomationTool.BuildCommand.Execute() in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\BuildCommand.cs:line 263
LogPlayLevel: at AutomationTool.Automation.Execute(List1 CommandsToExecute, Dictionary
2 Commands) in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 547
LogPlayLevel: at AutomationTool.Automation.Process(String[] Arguments, StartupTraceListener StartupListener) in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 511
LogPlayLevel: at AutomationTool.Program.MainProc(String[] Arguments, StartupTraceListener StartupListener) in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 175
LogPlayLevel: at AutomationTool.Program.<>c__DisplayClass1_0.b__2() in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 87
LogPlayLevel: at AutomationTool.InternalUtils.RunSingleInstance(Func`1 Main) in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Utils.cs:line 737
LogPlayLevel: at AutomationTool.Program.Main(String[] Arguments) in D:\Build++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 87
LogPlayLevel: (see C:\Users\dakot\AppData\Roaming\Unreal Engine\AutomationTool\Logs\E+Unreal+Engine+UE_4.26\Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=1 (Error_Unknown)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 0.754463
LogPlayLevel: BUILD FAILED
PackagingResults: Error: Launch failed! Unknown Error
LogD3D11RHI: CreateSwapChainForHwnd failed with result ‘DXGI_ERROR_INVALID_CALL’ (0x887A0001), falling back to legacy CreateSwapChain.
LogD3D11RHI: CreateSwapChainForHwnd failed with result ‘DXGI_ERROR_INVALID_CALL’ (0x887A0001), falling back to legacy CreateSwapChain.