enabling arcgis service calls from Unity Android app on Oculus Quest 2 goggles

916
4
06-23-2022 08:46 AM
coryeicher
Occasional Contributor

Hi,

I'm unable to see ArcGIS services (basemap layer, 3D Object Scene Layers) in my Android app running on Oculus Quest 2 goggles. However, these layers display fine within the Unity player. The 3D Scene layers are public (for example Building Linz from Esri), but they use https (as does the basemap I assume).

I've been able to narrow this down (I think). Following the doc here... 

https://developers.arcgis.com/unity/deployment/#mobile

... I see this in my app's logs (I am using Oculus Developer Hub FWIW): “OpenSSL not found. HTTPS support will be disabled.”

My questions:

  • Has anyone in the community gone down the path of  building OpenSSL from source which is recommended in the above link?
  • Anyone done this on a Windows machine? 
  • Has anyone found pre-built binaries which work?

Contextual info:

  • I am on a Windows 11 box and targeting Android (ARM64). 
  • In Unity I used the "VR" template, then modified to change to Universal Renderer pipeline. I also changed the Player setting "Internet Access" to "Require"
  • Target device: Oculus Quest 2

Thanks!

-Cory

CORY EICHER
www.eichcorp.com
cory@eichcorp.com
0 Kudos
4 Replies
coryeicher
Occasional Contributor

Success! OpenSSL was indeed the issue, and the documented steps fixed it.

The steps for building OpenSSL from source are great (kudos) and worked like a charm. Here again the links:

Couple tips:

  • If you're using WSL, after creating the binaries you can run this linux command to open windows explorer at same location in Windows file system: 

 

 

explorer.exe .​

 

 

  • I created "\Plugins\Android" folders and pasted the binaries here: 

 

<myUnityProject>\Assets\Plugins\Android​

 

 

CORY EICHER
www.eichcorp.com
cory@eichcorp.com
GordonCooke
New Contributor

Thanks! This really helped. 

roostorf
New Contributor II

I am  having similar issues building to android mobile phone. 

I have gotten the openssl to build from source on windows following the documentation and the maps show up in the game window in unity but I just get a grey screen when I build and run to an android mobile phone. I have followed the same procedure as the original poster but I am still getting  the error:


2022/08/09 16:58:00.032 9706 9733 Warn RTC OpenSSL not found. HTTPS support will be disabled.

when on a mobile device

I have all the other settings the same.  As mentioned works on computer, not on mobile, using the Universal RP and a motorola Moto G Power phone.

I created the same folder and put the files libcrypto-3.dll and libssl-3.dll in the folder but renamed them to libcrypto_1_1.dll and libssl_1_1.dll in an attempt to help unity find openssl, also tried adding the openssl/bin folder to path
 

Please help if anyone has suggestions!

0 Kudos
roostorf
New Contributor II

Ok figured it out, I replaced the .dll files compiled in windows with .so files that had been compiled in linux following the procedure outlined here, I have a dual boot so I just copied them from the linux drive to the windows drive and it worked.  I guess when I typed it all out above I realized what I should try.

0 Kudos