As an Associate of different 3rd parties, this website earns from qualifying purchases & contains affiliate links: learn more in the footer.

AR + VR: Mixed Reality (MR) with Unity & Google Cardboard XR Plugin

AR + VR: Mixed Reality (MR) Camera — Unity Asset that uses Google Cardboard XR Plugin (former Google VR SDK) to display 2D or 3D objects as though they were in the real world mixing Virtual Reality and Augmented Reality. It’s Unity MR Camera for 80% of all Mobile Devices.

Unity Asset Store — Download Button

Features of AR + VR: Mixed Reality (MR) Camera

Bring the enchanting Power of Mixed Reality into your amazing Game or App:

  • Cross-platform Mobile MR Camera: iOS, Android.
  • 3-minute installation for your own AR + VR Scene.
  • Covering a wide range of mobile devices.
  • Google Cardboard XR Plugin (former Google VR SDK) to implement Virtual Reality.
  • No using of other AR Engines like Unity AR Foundation, ARCore, ARKit, Vuforia, etc.
  • Real-Time AR Shadows.
  • Basic Editor Testing.
  • Optimized Gaze-based Reticle Pointer based on TextMesh Pro (2 Non-Animated States).

Mixed Reality adds virtual elements to the physical world and surrounds you with game objects, being in full immersion with VR Headset.

Package Contains

Check the Map of Unity Assets to choose the product that best suits your needs.

Tutorial

This tutorial is relevant for MR Camera 4.0+.
Tutorial for the previous version can be found only in the asset folder.

Getting Started with AR + VR: Mixed Reality (Unity MR)

Folders & Files in the package by default:

  • Makaka Games;
  • Plugins;
  • XR.

Steps

If you have any issues with the first launch then just Reach Support with Invoice Number and Get Help.

If you read this tutorial from PDF, first check the latest docs online to get actual information.

  1. Create New Unity Project with Unity 2022.3.18 & “3D” Template.
  2. File > Build Settings > iOS or Android > Switch Platform.
  3. Next Packages must be manually installed with Git & Unity Package Manager:
    1. Native Camera 1.4.2.
    2. Google Cardboard XR Plugin for Unity 1.23.0I recommend using this version because the latest version has bugs. Here is a Hash value for installing: 0d822d2031c3f5b3d9d7eebc1c6603fd689ed411
      1. Edit > Project Settings > XR Plug-in Management > Select Cardboard XR Plugin under Plug-in Providers for both: iOS & Android.
  4. Download and import AR + VR: Mixed Reality (MR) into Unity.
    1. Warning Windows:
      1. Click “Import” to overwrite the Project Settings with predefined ones.
      2. Click “Install/Upgrade” for Package Manager Dependencies.
  5. Next Packages are provided with Unity Package Manager, and they are already installed for this Asset by default. If packages are missing (Warning Window did not appear) then install them again with Package Manager (advanced settings enabled: “Pre-release Packages”):
    1. TextMesh Pro 3.0.8:
      1. Always Required: Window > TextMeshPro > Import TMP Essential Resources;
    2. XR Legacy Input Helpers 2.1.10;
    3. XR Plugin Management 4.4.1.
  6. Reopen Unity Project.
  7. Open Scene: Makaka Games > MR > MR Camera > Scenes > Demo.
  8. Test in the Unity Editor or Build for Mobile.

If you are new to Google Cardboard XR Plugin for Unity, check the following guide.

VR Only Mode

So if you want to use the asset without AR, in VR Only mode, do next in Demo Scene:

  1. Delete “CameraFeedOnBackground” from the scene.
  2. Player MR > Main Camera > Clear Flags > Skybox.
  3. AR Ground > Mesh Renderer > Materials > Set to “Default Material” or whatever you want.

Issue Solving

No Stereo View & Freezed Game Object on Device

So, if you accurately followed all points in the installation tutorial above, then try next:

  1. Remove XR Plugin Management package from Unity Package Manager.
  2. Build for Mobile Device.

If you have no success then install XR Plugin Management package in Unity Package Manager and build again. Cardboard XR Plugin must be checked for your Platform in “Edit > Project Settings > XR Plug-in Management > iOS/Android”.

Testing

You can test the project in the Unity Editor this way:

  • Right Mouse Button for Camera Movement.
  • Left Mouse Button for Simulating of Pressing the Cardboard trigger button this frame (Google.XR.Cardboard.Api.IsTriggerPressed) — Tested for Screen Touches on Mobile Device.

Unity Editor doesn’t provide Stereo View.

Use Fullscreen of Game View in Unity Editor while testing to get a seamless experience.

Debug Logging of Gaze-based Reticle Pointer

Gaze-based Reticle Pointer shows is there a Game Object (specially prepared for VR like in Demo Scene) in front of the Camera.

To understand the state of Pointer, you can turn on Debug Logging in CameraPointerCustom.cs component of the Main Camera game object.

Mobile Devices

Tested with Smartphones & Google Cardboard with Unity’s Built-in Render Pipeline (not URP):

  • iOS 17 on iPhone XS Max.
  • Android 13 on Samsung Galaxy A71.

Limitations

Google Cardboard XR Plugin is still under development. If you have any issues on its side, then try to Search Solutions on GitHub.

Support

First, read the latest docs online.
If it didn’t help, get the support.

Changelog

Check the current version of MR Camera on Asset Store.
The latest versions will be added as soon as possible.

4.0:

Improvements:

3.3:

Improvements:

3.2:

Improvements:

3.0:

Improvements:

Fixes:

  • Rendering of Gaze-based Reticle Pointer: change Image component to TextMesh Pro.

2.1:

2.0:

Unity Assets

Support for Unity Assets

I am Andrey Sirota, Founder of Makaka Games and full-time Publisher on the Unity Asset Store. First, read the latest docs online. If it didn’t help, get the support.

Related Posts

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment moderation is enabled. Your comment may take some time to appear.

Back to top button