Skip to content

In Standalone VR

IMPORTANT:

Testing with Android

You can test your Experience on your standalone target device by utilizing the GEM Launcher. This allows you to test Builds with VR controls and connecitivity between different devices that do not run on the same machine. This test workflow comes closest to the final production environment.

  1. You need to build a windows or linux Server and android Client target. Navigate to GEM -> Builder to open the GEM Builder.

image{width="147" height="63"}

  1. Check "Android Client" and "Windows Server" (or "Linux Server" if you run GEM on linux). Afterwards, hit "Build Targets". This auto-configures the export directory for a GEM Experience and generates the gem_manifest.yaml required by GEM.

image{width="240" height="258"}

  1. If the build was Successful, your Explorer will open and show a WindowsClient folder, a WindowsServer (or LinuxServer) folder and a gem_manifest.yaml.
  2. Install the AndroidClient/{appname}.apk on your standalone VR device.
  3. Launch the apk on your standalone VR device.
  4. Navigate to GEM -> Launcher

image{width="117" height="64"}

Without GEM

Running the android app with the GEM Simulator requires some extra steps on the device to disable GEM. Ensure to follow these steps for every device you are testing with.

  1. Ensure the .apk was launched at least once on your device to generate the GEM configuration files in the apk's storage directory.
  2. Connect your standalone device to your computer
  3. open a file browser for your standalone device. Custom software such as SideQuest might have to be installed for this if the device storage is hidden.
  4. Navigate your file browser to the android device's apk data path. This should usually be at /Android/data/com.{companyname}.{appname}/files/settings/ You can see your companyname and appname in your Project Settings -> Player. Keep in mind that your android Identification might be overriden with "Override Default Package Name".
  5. In this folder, you should now find "GEMUserSettings.yaml". Edit it with any text editor. With sidequest, the file needs to be downloaded, edited, and then uploaded again.

image{width="824" height="213"}

  1. Modify "useGEM: true" to "useGEM: false".
  2. (optional) Modify "releaseMode: true" to "releaseMode: false". This enables the debug-mode of GEM and prints you more information on the Startup_Client scene than otherwise visible to the end-user and helps you debug in-headset.
  3. (optional) Modify "debugLevel: 0" to "debugLevel: 1". This enables "Minimal" Debug level of GEM Debug prints.
  4. Modify "useOverride: false" in "overrideGameServerAddress:" to "useOverride: true".
  5. Modify "Modify Address: 127.0.0.1" to the local ip address of the device that runs your unity editor. You can view it by opening a windows cmd and typing "ipconfig". You want to use the ipv4 address assigned to your device by your router.

You can read about the other configuration options in at Configuration File.

  1. Save the edited configuration and upload it to the device.
  2. launch/restart the app. Instead of "Discovering GEM", your application should now immediately start the height calibration and then attempt to connect to the gameserver.
  3. Return to the GEMLauncher window in Unity.
  4. Uncheck "Use GEM Runtime" if it is checked.
  5. Select the amount of android devices that you would like to test with. The maximum amount is defined by the "Max Players" in Project Settings -> Group Experience Manager.
  6. Hit "Launch Local Windows Server for Android"

image{width="244" height="158"}

Your device should now have successfully connected to your server with GEM Simulator enabled and you should be able to proceed with the zones without having GEM installed.

With GEM

  1. Check "Use GEM Runtime" if it is unchecked.
  2. Select the amount of android devices that you would like to test with. The maximum amount is defined by the "Max Players" in Project Settings -> Group Experience Manager.
  3. Hit "Launch Local Windows Server for Android"

image{width="242" height="160"}

  1. The .bat launcher will require you to input the device name(s) of the android devices you are testing with. If you do not know your device name, the launched .apk should display the device name after it has discovered GEM.

image{width="862" height="382"}

  1. The .bat launcher will pause again afterwards. After all android devices are displaying the "Unassigned" state, continue the .bat launcher

image{width="866" height="458"}

  1. Your standalone VR device should now perform the height calibration and then connect to the Gameserver. The experience should now be playable with your standalone VR device and you can observe it in the GEM Dashboard.

image{width="1736" height="974"}

You can now test GEM API calls in-device such as emergency passthrough mode or deboarding and slideapp. The example playerpawn also allows you to move and rotate artificially with your VR controller's thumbsticks to go through the experience.