UE4 Cardboard VR  1.0.2
Unreal Engine 4 plugin to run UE4 mobile VR projects on iOS and Android devices using Google Cardboard VR viewers.
Cardboard VR plugin for Unreal Engine 4

Introduction

UE4 Cardboard VR is a plugin for Unreal Engine 4 that adds support for Google Cardboard VR headsets for both iOS and Android platforms, integrating the official Google Cardboard SDK.

MARKETPLACE: https://www.unrealengine.com/marketplace/cardboard-vr

To configure and use the plugin, read Quick Start. There's a Sample Project available at https://github.com/UNAmedia/ue4-cardboard-demo.

NOTE: This product is not made by, or affiliated with, Google Inc in any way. "Google Cardboard" is a trademark of Google LLC.

1_officialSDK_house-small.jpg 2_plugAndPlay_fps-small.jpg 3_readyToUse_tetris-small.jpg

Integrated Google Cardboard SDK versions:

Links

MARKETPLACE: https://www.unrealengine.com/marketplace/cardboard-vr

Changelog: Changelog

Support thread: https://forums.unrealengine.com/unreal-engine/marketplace/1849407-cardboard-vr-google-cardboard-vr-headsets-on-ios-and-android-integrating-the-official-google-sdk

Sample project: https://github.com/UNAmedia/ue4-cardboard-demo

Main Features

The plugin allows you to run UE4 mobile VR projects for iOS and Android devices on the Google Cardboard VR viewers.

Main supported features:

  • head tracking;
  • stereoscopic rendering;
  • user interaction via the viewer button;
  • native, customizable, UI overlay to allow the user to:
    • enable/disable the stereoscopic mode;
    • scan the QR code to automatically configure the parameters of its Google Cardboard viewer.
  • all the features are available from both Blueprints and C++.

User interactions via the viewer button are detected as standard touch inputs.

User interactions with the UI overlay are notified by delegates, while the UI overlay can be customized from the Project Settings and also at run-time.

Quick Start

Simply enabling the plugin (under the Edit > Plugins menu and searching for "Cardboard VR") is enough to start building and running your mobile VR experience on a Google Cardboard-supported mobile device.

For a proper and complete setup, more advanced options and important technical notes, please read the rest of the document.

Project Setup

Ensure to have enabled the plugin (under the Edit > Plugins menu and searching for "Cardboard VR").

Project Settings

  • Google Cardboard viewers expect the smartphones to be handled in a fixed orientation:
    • for iOS: go to Project Settings > Platforms > iOS:
      • unset all Supports ... Orientation options, leaving enabled only the Supports Landscape Right Orientation;
      • set Preferred Landscape Orientation option to Landscape (right home button) value.
        ios-orientation.png
        iOS orientation settings
    • for Android: go to Project Settings > Platforms > Android and set the option APK Packaging > Orientation to the value Landscape.
      android-orientation.png
      Android orientation settings
  • For iOS you must unset the flag in Project Settings > Platforms > iOS > Build > Support bitcode in Shipping (see Google Cardboard SDK issue #84).

Optionally, you could be interested to configure few other options under Project Settings:

  • Project > Description > Settings > Start in VR: if enabled, your app will start in stereo mode;
  • under Engine > Input :
    • Mobile > Default Touch Interface: if set, your app will show the configured touch interface when not in stereo mode (when in stereo mode, the touch interface is automatically removed by the plugin);
    • Mouse Properties > Use Mouse for Touch: helpful when testing your experience on PC.

Please follow all the other recommendations by Epic for developing for VR and mobile (like disabling the Mobile HDR option, configuring the Mobile Content Scale Factor, etc.). See the section Useful Development Links for more detailed information.

Plugin Settings

Under Project Settings > ... > Cardboard VR, you can customize several settings of the plugin. Go over each setting with the mouse pointer to open a tooltip with the detailed description. Most of the settings can be updated at run-time using methods from the UUNACardboardVRStatics class.

UNACardboardVR-project-settings.png
Plugin settings

Set Up Camera for UE4 Cardboard VR

You must setup your VR camera following the official guidelines of Unreal Engine 4 for a seated VR experience:

  • attach a camera component to a scene component at the base of the pawn/character (ground level);
    cardboard-vr-camera.png
    UE4 Cardboard VR camera setup
  • on initialization at run-time, set the Tracking Origin to Eye Level and move upward the camera's parent scene node to the desired Eye Height.
    HT_GoogleVR_Camera_Setup_07.png
    UE4 Cardboard VR camera initialization

Follow the links below, from the official Unreal Engine 4 Documentation, for more information:

Technical Notes

  • Tablets (in particular iPad tablets) are not supported by the Google Cardboard SDK at the moment (see the official repository). While the stereo mode can be safely enabled with the plugin (that will work as on smartphones), the Google Cardboard viewer parameters and the distorsion mesh could not correctly match the physical size of the device screen. If you prefer to not support the stereo mode on tablets, you can manually detect the device type on launch and selectively enable/disable the native UI overlay.

Useful Development Links

Google Cardboard apps are both VR apps and mobile apps, please review and follow all the relevant Unreal Engine 4 documents and recommendations about the subjects, for example:

As the plugin integrates the official Google Cardboard SDK, you can find important and helpful information also from Google: