Cardboard VR - Google Cardboard VR headsets on iOS and Android, integrating the official Google SDK

Cardboard VR plugin is participating to the Unreal Engine Massive Marketplace Sale and is 30% OFF right now. If interested, get it before the end of event.

Thanks for clarifying and glad it’s the full port - do you have a trial to test functionality before purchasing as it’s a relatively expensive plugin (however not expensive compared to the effort you all are likely to have put into it!)

Hi David!

I understand perfectly that it’s not a cheap plugin, and having a working demo would be welcomed. Unfortunately at the moment we don’t have a public demo app available. If interested, reach us at and we can try to find a solution depending on your needs.

does the new vr sdk support adjusting screen resolution?

if youre using cardboard just use ue 4.19 and the problem should be gone


On mobile, I don’t think you can change the physical screen resolution. But you can use the standard UE4 features related to the console commands “r.ScreenPercentage” and “vr.PixelDensity.
If instead you’re referring to the new Dynamic Resolution feature, UE4 doesn’t support it on mobile devices (at the moment at least).

Redacted. See message below.


recently the Cardboard SDK Version 1.6.0 was released, enabling the option to recenter. Is this feature supported by your plugin? Or is this plugin locked to a specific Cardboard SDK Version?

Update: vr.PixelDensity is not supported at the moment (we scheduled it for the next version if possible).

To change the resolution on mobile, you must use r.MobileContentScaleFactor. This has the advantage that is part of the Scalability Settings, so you can also pre-configure different values depending on the target hardware (or change it at run-time as you prefer):

Hi! We’re working right now on the update to integrate the Cardboard SDK 1.6.0. At the moment the plugin integrates the v1.4.1. I think the new version will be ready next month. We’ll look also to update the plugin public API to support some new features (like the “re-centering”).

The integration of the Android version will require more work as the new Cardboard SDK 1.6.0 requires AndroidX dependencies, while UE4 is using the old “compatibility library” versions and they can’t be mixed. We’ve already a working solution but we have to investigate better the subject.

Thanks for the quick and in depth response. This sounds very good. We will be sure to keep an eye on this plugin.

Hi! The new version of the plugin is now under review by Epic. The new version upgrades the Google Cardboard SDK from v1.4.1 to v1.7.0, that includes: improved head tracking, methods to work with device parameters, head tracking re-centering. A detailed change-log will be available when the new version will be available on the UE Marketplace.

Thanks to Epic, the update is already available on the UE Marketplace: restart the Epic Games Launcher and download the most up-to-date product files.

Changelog v1.1.0

Hi everyone! We plan to submit for review the update of “Cardboard VR ” plugin for UE4.27 in ~10 days (maybe sooner, but the Android version will require some extra work as UE4.27 switched to use AndroidX dependencies).

I’m having trouble with an ios app using this plugin. I get the below message when I use Transporter
" ERROR ITMS-90535: “Unexpected CFBundleExecutable Key. The bundle at ‘Payload/’ does not contain a bundle executable. If this bundle intentionally does not contain an executable, consider removing the CFBundleExecutable key from its Info.plist and using a CFBundlePackageType of BNDL. If this bundle is part of a third-party framework, consider contacting the developer of the framework for an update to address this issue.”

I’m not sure what the issue is…please help.

Hi! This is the first time someone reported this sort of issue. It seems related to the used build tools. Maybe something changed on the Apple side…

You could try removing the CFBundleExecutable key from the reported plugin bundle (you’ll find the PLIST file locally at <UE_ROOT>/Engine/Plugins/Marketplace/UNACardboardVR/Source/UNACardboardVR/Resources/ios/UNACardboard.bundle - MAKE A COPY OF THE FILE AND SAVE IT OUTSIDE THE <UE_ROOT> DIRECTORY BEFORE EDITING IT). Editing the file with Xcode should be enough, otherwise here are described several other ways to remove such key.

Let us know if it works. Could you please also share the versions of the used tools (UE4, Xcode, Transporter, etc.)? Thanks.

Hello UNAmedia,

I followed your directions and deleted the line “executable file”. Hopefully that was ok… This got it to go through on Transporter and now I’m waiting for apple approval to test it out. thanks!

UE4 version: 4.26.2
xocde: 12.5.1
transporter: 1.2.2
macOS Big Sur version 11.5.2

Glad it solved! I opened a ticket on our issue tracker to monitor this problem before promoting the fix to production. Thanks a lot for the follow up and the information provided.

Hi! We’re glad to inform you that the version of “Cardboard VR” for UE4.27 is now available in the UE Marketplace.

Hi! Following the release of our latest plugin, we launched an official Discord server dedicated to all of our plugins .

If you’re using the Cardboard VR plugin, join the server to be informed of updates and special offers, in addition to have a quick and preferred channel to chat with us:

Discord server:

As a user of the Cardboard VR plugin, you could be interested to know about our latest addition: the Google Analytics Measurement Protocol plugin, a native cross-platform solution to send data to Google Analytics. Simply enabling it is enough to start logging data, and the plugin supports also PC and consoles.

Hi! Today is available the new version 1.2.0, that integrates the new Google Cardboard SDK v.1.9.0.

Here the main changes:

  • Upgraded the Google Cardboard SDK to version v1.9.0, for UE4.26 and UE4.27.
  • Added support for 2021 iPhones (iPhone 13, iPhone 13 Mini, iPhone 13 Pro, iPhone 13 Pro Max).
  • Bitcode on iOS is now supported, and flag in Project Settings > Platforms > iOS > Build > Support bitcode in Shipping can now be enabled (was Google Cardboard SDK issue #84).

We also updated the demo application ( with two options that could improve performances for some applications (see cset d360cf3deb74da76a32872f76dc84510771230ad):

  • Configured r.MobileContentScaleFactor=0 on all mobile platforms;
  • For iOS: set FrameRateLock to None and enabled bEnableDynamicMaxFPS.

Join our Discord server: