The Daydream View VR headset is no longer available for purchase as of October 15, 2019. As of November 2023, previously supported devices will no longer be able to download and install Google VR Serivces (Android application ID com.google.vr.vrcore) for new users.
Stay organized with collections
Save and categorize content based on your preferences.
The Controller Emulator app has two use-cases:
It allows you to use a second Android phone in place of a Daydream
controller, in case you don't have access to one.
You can also use it with Unity and Unreal to emulate a Daydream
controller in the engines' in-editor preview.
Setup
To use the Controller Emulator, you must have a spare phone (not your headset
phone) running KitKat or above. These instructions were tested using a Nexus
5X. This phone is used to emulate the Daydream controller and must have a
gyroscope. We will refer to this phone as the controller phone.
Install the Controller Emulator on your controller phone.
Pair your headset phone to your controller phone via Bluetooth.
On both phones, go to Settings > Bluetooth.
Optionally, rename your controller phone in order to make it easier to
identify. To do this, press more_vert,
then Rename this device. Change its name to, for example,
(Your Name)'s Controller Phone.
On the headset phone, tap the controller phone's name on the list
of devices. This will show a dialog box on both devices to confirm the
pairing.
Confirm the pairing, then return to the home screen on both devices.
Configure the Controller Emulator device.
On the headset phone, launch the app for Daydream you installed earlier.
Press the settings button at the
bottom of the screen, then press Setup.
You should now be in the Google VR Services settings screen.
Tap the Version item 7 times to show the Developer Options.
Select Controller emulator device.
Select the controller phone from the list.
Close the app by pressing the square Recents button in the
bottom-right and swiping the app away.
Remember that your headset phone and controller phone must be paired via
Bluetooth in order to use the Controller Emulator. Refer to the steps
in the previous section for how to do this.
Interface
The Controller Emulator UI contains these elements:
Connection indicator (top): This text indicates whether the emulator is
connected to a headset phone. It also shows network information for the
controller phone.
Touchpad area (large circle): This area emulates the touchpad area of
a controller. It does not support multi-touch.
Touchpad click emulation: On the real controller, the touchpad can be
clicked by pressing down on it. This is considered to be a button, and is
called the "click button". Clicking the touchpad on a physical controller is
emulated by double-tapping the touchpad in the Controller Emulator and will
send Click button events to the app.
App button (immediately below touchpad): This button sends App
button events to the app.
Home button (bottom): This button is reserved for system use and cannot
be used by your app. It is also used to recenter the controller.
The behavior of the touchpad, Click button and App button are up to your
application. Typically, the click should map to your application's primary
action (e.g. selecting, shooting) and the app button should be used for
secondary actions (e.g. menu, pause, tool selection).
The physical controller also includes buttons to control the volume of your
headset phone which are not emulated. The
Controller
class shows the various inputs and buttons you can listen to.
Recenter the controller
If you find that the headset and controller are not aligned, you can recenter
them. To recenter, press and hold the Home button on the controller/emulator
(the lower button with a circle). Hold the controller/phone in front of you and
level with the horizon for at least 1 second, then release the Home button.
Overlay
Since users can't see a controller with a headset on, it is designed to be easy
to understand by touch alone. To simulate this with the Controller Emulator, you
can use a physical cutout so you can feel the trackpad and button areas.
You can use the Controller Emulator in Play mode of both the Unity and Unreal
editors as follows:
Enable USB debugging by going to Settings > Developer options.
If Developer options is hidden, go to Settings > About phone and tap
Build number seven times. Return to the previous screen to find
Developer options.
Connect the controller phone to your computer with a USB cable.
(Unity only) Select the USB option for EmulatorConnectionMode on the
GvrControllerInput script in the Unity scene.
The controller phone should now connect automatically when you are in Play Mode.
(Unity only) Note that this is incompatible with
Instant Preview,
and the Controller Emulator will not work over USB if any USB-connected phone
has the Instant Preview app installed.
All rights reserved. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-09 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-09 UTC."],[[["\u003cp\u003eThe Controller Emulator app is deprecated and Instant Preview is the recommended alternative for Unity and Unreal development.\u003c/p\u003e\n"],["\u003cp\u003eThis emulator allows using a second Android phone (with KitKat or above and a gyroscope) as a Daydream controller for testing purposes.\u003c/p\u003e\n"],["\u003cp\u003eThe emulator connects to the headset phone via Bluetooth and requires specific setup steps within the Google VR Services settings.\u003c/p\u003e\n"],["\u003cp\u003eThe emulator UI consists of a touchpad area, click emulation (double-tap), App button, and a Home button (for re-centering).\u003c/p\u003e\n"],["\u003cp\u003eWhile the emulator can be used with Unity and Unreal editors in Play mode, it's incompatible with Instant Preview in Unity.\u003c/p\u003e\n"]]],["The Controller Emulator, now deprecated in favor of Instant Preview, allowed a second Android phone to function as a Daydream controller. Setup involves installing the emulator app on the \"controller phone\" and pairing it with the \"headset phone\" via Bluetooth. The emulator's interface includes a touchpad, click emulation, app button, and a home button for recentering. Overlays are available to aid physical interaction. In Unity and Unreal, the emulator can be used in Play mode by enabling USB debugging and connecting the controller phone via USB.\n"],null,["| **Warning:** The Controller Emulator app is deprecated. Use Instant Preview ([Unity](//developers.google.com/vr/develop/unity/instant-preview), [Unreal](//developers.google.com/vr/develop/unreal/instant-preview)) instead.\n\nThe Controller Emulator app has two use-cases:\n\n- It allows you to use a second Android phone in place of a Daydream\n controller, in case you don't have access to one.\n\n- You can also use it with Unity and Unreal to emulate a Daydream\n controller in the engines' in-editor preview.\n\nSetup\n\nTo use the Controller Emulator, you must have a spare phone (not your headset\nphone) running KitKat or above. These instructions were tested using a Nexus\n5X. This phone is used to emulate the Daydream controller and must have a\ngyroscope. We will refer to this phone as the **controller phone**.\n\n1. Install the Controller Emulator on your controller phone.\n\n [Get the APK](//github.com/googlevr/gvr-android-sdk/blob/master/apks/controller_emulator.apk?raw=true)\n2. Pair your headset phone to your controller phone via Bluetooth.\n\n - On both phones, go to **Settings \\\u003e Bluetooth**.\n - Optionally, rename your controller phone in order to make it easier to identify. To do this, press more_vert, then **Rename this device** . Change its name to, for example, **(Your Name)'s Controller Phone**.\n - On the headset phone, tap the controller phone's name on the list of devices. This will show a dialog box on both devices to confirm the pairing.\n - Confirm the pairing, then return to the home screen on both devices.\n3. Configure the Controller Emulator device.\n\n - On the headset phone, launch the app for Daydream you installed earlier.\n - Press the settings button at the bottom of the screen, then press **Setup**.\n - You should now be in the Google VR Services settings screen. Tap the **Version** item 7 times to show the **Developer Options**.\n - Select **Controller emulator device**.\n - Select the controller phone from the list.\n - Close the app by pressing the square **Recents** button in the bottom-right and swiping the app away.\n\n| **Important:** Make sure you installed the latest version of the Controller Emulator app (version 1.4.01 or above). Only the latest version will allow you to connect via Bluetooth. You can check the version in **Settings \\\u003e Apps \\\u003e\n| Controller Emulator**.\n\nRemember that your headset phone and controller phone must be paired via\nBluetooth in order to use the Controller Emulator. Refer to the steps\nin the previous section for how to do this.\n| **Important:** Make sure to enable Bluetooth on the controller phone. Due to a known issue, the controller emulator app does not warn you if Bluetooth is off.\n\nInterface\n\nThe Controller Emulator UI contains these elements:\n\n- **Connection indicator (top)**: This text indicates whether the emulator is\n connected to a headset phone. It also shows network information for the\n controller phone.\n\n- **Touchpad area (large circle)**: This area emulates the touchpad area of\n a controller. It does not support multi-touch.\n\n- **Touchpad click emulation** : On the real controller, the touchpad can be\n clicked by pressing down on it. This is considered to be a button, and is\n called the \"click button\". Clicking the touchpad on a physical controller is\n emulated by double-tapping the touchpad in the Controller Emulator and will\n send **Click** button events to the app.\n\n- **App button (immediately below touchpad)** : This button sends **App**\n button events to the app.\n\n- **Home button (bottom)**: This button is reserved for system use and cannot\n be used by your app. It is also used to recenter the controller.\n\nThe behavior of the touchpad, **Click** button and **App** button are up to your\napplication. Typically, the click should map to your application's primary\naction (e.g. selecting, shooting) and the app button should be used for\nsecondary actions (e.g. menu, pause, tool selection).\n\nThe physical controller also includes buttons to control the volume of your\nheadset phone which are not emulated. The\n[`Controller`](/vr/android/reference/com/google/vr/sdk/controller/Controller)\nclass shows the various inputs and buttons you can listen to.\n\nRecenter the controller\n\nIf you find that the headset and controller are not aligned, you can recenter\nthem. To recenter, press and hold the **Home** button on the controller/emulator\n(the lower button with a circle). Hold the controller/phone in front of you and\nlevel with the horizon for at least 1 second, then release the **Home** button.\n\nOverlay\n\nSince users can't see a controller with a headset on, it is designed to be easy\nto understand by touch alone. To simulate this with the Controller Emulator, you\ncan use a physical cutout so you can feel the trackpad and button areas.\n\n| Controller Emulator Overlays ||\n|--------------------------------------|-------------------------------------------------------------------------|\n| Letter | [Download](/static/vr/downloads/controller-emulator-overlay-letter.pdf) |\n| Controller Emulator Overlay - A4 | [Download](/static/vr/downloads/controller-emulator-overlay-a4.pdf) |\n| Controller Emulator Overlay - Vector | [Download](/static/vr/downloads/controller-emulator-overlay.svg) |\n\nGame engines\n\nYou can use the Controller Emulator in Play mode of both the Unity and Unreal\neditors as follows:\n\n1. Enable USB debugging by going to **Settings \\\u003e Developer options**.\n\n - If Developer options is hidden, go to **Settings \\\u003e About phone** and tap **Build number** seven times. Return to the previous screen to find **Developer options**.\n2. Connect the controller phone to your computer with a USB cable.\n\n3. (Unity only) Select the `USB` option for `EmulatorConnectionMode` on the\n `GvrControllerInput` script in the Unity scene.\n\nThe controller phone should now connect automatically when you are in Play Mode.\n\n(Unity only) Note that this is incompatible with\n[Instant Preview](//developers.google.com/vr/develop/unity/instant-preview),\nand the Controller Emulator will not work over USB if any USB-connected phone\nhas the Instant Preview app installed."]]