Daydream guides/tutorials/documentation - specifically for controller?

Does anything exist? I’m a little lost to be honest. Where should one get started?

This is the only thing I’ve found, but it’s not terribly detailed.

https://developers.google.com/vr/unreal/daydream-in-unreal

I would like to implement the controller. Specifically, how does one execute code to swipe?

+1 for this.

I just started working with Daydream today myself, and running into loads of questions about many things - including the controller - not covered in the scant documentation for Daydream+Unreal.

They are still working on an API for built in swipe gestures, but you can build them yourself if you don’t want to wait.

If you have Google’s patches for Unreal, the daydream controller is treated as a standard motion controller. Use input nodes MotionController Thumbstick X and Y (either L or R - just be consistent) to get the touchpad inputs each frame. There are quite a few examples out there of swipe implementations for mouse - use those as a basis.

MotionController Thumbstick button for the touchpad press.
MotionController Shoulder button for the ‘app’ button.

Suggested usage is the project settings -> input -> Action and Axis Mappings

There is no access to the system or volume buttons, so the above keeps it pretty simple.

There are several other little caveat here and there. Mostly, look at all the information for general MotionControllers, and that is how you use the Daydream controller. Don’t forget to check and implement Left vs Right handed (api for which is set is in the Daydream BP library). You may have to test for and handle controller disconnects yourself. Sustained mode vs Performance mode is an important decision for optimization vs runtime capabilities - make that choice early.

@VictorRachels: do you know where I can find more info about the practical differences between Sustained vs Performance mode?

There is a little paragraph on Google’s dev page, but doesn’t give many details.

Thank you for your help. I appreciate it

The different modes set the preferred / allowed cpu and gpu throttling values. I don’t know the actual numbers, and the values are different per phone, anyway.
for the Pixel, you can check:
cpu: /sys/devices/system/cpu/cpu#/cpufreq/ scaling_max_freq, scaling_min_freq, scaling_cur_freq
bus: /sys/class/devfreq/soc:qcom,gpubw/cur_freq
gpu: /sys/class/kgsl/kgsl-3d0/devfreq/ min_freq, max_freq, cur_freq

ymmv

Regardless:
Sustained mode would be for apps that you want to run a long time without overheating the phone. (ie, watching movies)

Otherwise, it runs at essentially full speed, until the phone gets too hot and it throttles the speed way down (and I think to slower than what the sustained mode is)
How long that lasts depends on a lot of variables, but about 20 minutes is a good estimate.

Technically, it’s possible for applications to switch between the two modes. In practice, this is only useful if you are generally in sustained mode, and switch to performance mode for very short periods. Sustained mode won’t cool off the phone, it just helps delay the inevitable. Also, I don’t believe that functionality was exposed in Unreal’s interface, so you would have to access that yourself.

Hey everybody,

I’m checking this out https://developers.google.com/vr/unreal/arm-model#motion_controller_with_visualization_support along with other docs about motion controllers.

On my side, I set up a pawn with motion controller, and unlike what it says in the above doc, there is no Google VR component, no Arm model BP box either, seems like everything is … outdated ?

I also checked both plugins for google VR and Google VR controllers…and still when I play Play VR, I don’t get gyro or anything. I do have the actual daydream controller so I wouldn’t need to run the emulator right ? The pixel hone is hooked up to the PC in dev more, when I put the phone in the headset of course it works and launches the daydream app which is not what I want of course… I just want the controller to be recognized when I launch the editor play but I’m at a loss why I get nothing at all and don’t find any answer…does anyone have an idea ? That’d be great. it’s clueless factory here.

Thanks !

For anyone interested, I found a decent tutorial on working with google daydream/cardboard:

It’s sort of a rudimentary setup, but I haven’t yet found any other tutorial as good as this one.

I’m using 4.15 version of engine, which makes things slightly easier. You don’t have to download the github project discussed in the tutorial.

Curious if anyone sees a white box and white line associated with daydream head tracking. I can’t get rid of it when I deploy to my device.

Please check out this tutorial. It goes over how to implement a basic swipe, and generally how to integrate the Daydream controller with Unreal. I’m also releasing the project related to it. I’d appreciate any constructive feedback you have. I’d like to see more Daydream Unreal apps; hopefully this can help everyone. View here: Daydream Controller and Unreal Instructional Tutorial on Vimeo
Many thanks! Rob.