x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

UE4.21 Daydream Controller is not tracking

In 4.21, Daydream VR controller no longer moves.

Sample project contains no gameplay - it is a bare player standing on a platform, looking around. https://www.dropbox.com/s/x8coop351oe49cr/testVR2_Daydream.zip?dl=0

Also, here is a link to builds produced on my machine: https://www.dropbox.com/s/u4jgaf04j1fj8xd/Daydream_Builds.zip?dl=0

Steps to reproduce wtih sample project:

1) Open sample project in UE4.20: https://www.dropbox.com/s/x8coop351oe49cr/testVR2_Daydream.zip?dl=0

2) Publish using File > Package Project > Android > Android (ETC2).

3) Install resulting build on Android phone with Cardboard only mode supported (in my case, Xiaomi Redmi Note 5 running Android 9).

4) IMPORTANT: After game launches, wait 20 seconds. It should not crash.

5) Install the same build on Android phone with Daydream support (Moto Z running Android 8 for me).

6) IMPORTANT: After game launches, wait 20 seconds. Head tracking and controller movement should work correctly.


7) Unpack project from ZIP file again for clean test. This ensures that you will not have Intermediate, Build, Saved and Binaries folders left from UE4.20.

8) Open project in UE4.21 (it will ask for conversion)

9) Publish using File > Package Project > Android > Android (ETC2).

10) Install resulting build on Android phone with Cardboard only mode supported (in my case, Xiaomi Redmi Note 5 running Android 9).

11) IMPORTANT: After game launches, wait 20 seconds. It should not crash.

12) Install the same build on Android phone with Daydream support (Moto Z running Android 8 for me).

13) IMPORTANT: After game launches, wait 20 seconds. Head tracking and controller movement should work correctly.


Actual results:

  • On step 13, headtracking works, but Daydream controller is not moving.

Product Version: UE 4.21
Tags:
more ▼

asked Nov 10 '18 at 05:46 PM in Packaging & Deployment

avatar image

diamond3
23 2 5 10

avatar image xmak Dec 05 '18 at 01:56 AM

I can confirm this bug, have tried it with Instant preview on few projects made from scratch and it doesn't track the controller. The issue still persists in 4.21.1

avatar image diamond3 Dec 09 '18 at 02:54 AM

By the way, do you know other active mobile VR developers on the forums? I wonder if I am the only one who is getting these bugs.

avatar image aussieburger Dec 05 '18 at 09:07 AM

I noticed something similar when trying out new projects. Strangely my older projects still work however I had the controller setup differently for those.

You should really report this to Epic via the bug reporting form:

https://epicsupport.force.com/unrealengine/s/

Once they create an issue ticket for it post it back here so we can vote on it ;)

avatar image diamond3 Dec 05 '18 at 01:16 PM

I've reported the bug: https://issues.unrealengine.com/issue/UE-66417

Target Fix is 4.22 now.

Feel free to upvote this bug.

avatar image xmak Dec 09 '18 at 12:02 AM

Hi diamond3.

When it's fixed in 4.22, will the bugfix also be backported to 4.21?

avatar image diamond3 Dec 09 '18 at 02:52 AM

Usually, no. This can mean that 4.21 will remain with broken functionality.

avatar image eray_ozr Jan 03 '19 at 09:04 AM

Same here. If I use GoogleVR Controller component, game does not respond to my daydream comtroller in "Instant Preview". But if I use default motion controller component with right hand source, it works but it does only 3DoF positional movements. Can not rotates. For example you can not choice a widget which does not placed exact front of you (90 degree). I tried Google VR modes in project settings like Daydream DoF 3 / 6.3/ 6.6 and Arm system.

I have not tried Google VR branch yet.

avatar image diamond3 Jan 03 '19 at 09:18 AM

Good investigation, sir! I believe that Google VR branch is based on quite old engine version. Is there a Google VR branch based on 4.21?

avatar image aussieburger Jan 03 '19 at 09:25 AM

No the latest is 4.20 still: https://github.com/googlevr-unreal/UnrealEngine

FYI: the default google daydream controller is only 3dof ;)

avatar image eray_ozr Jan 03 '19 at 11:09 AM

Default controller is only 3 Dof but there is a "Arm model" support and it supposed to work like 6.3 Dof not real 6 DoF. it is some kind of virtual support. But if we want real 6 DoF we need nolo vr like hardware or Lenovo Mirage solo. (and if we use that hardware we can also use seurat).

Updates: 1- issue says controller "does not appear" but actually it "does appear". we can not see it because camera and controller spawn at 0,0,0. (I assume you attach a static mesh to controller or choose display mesh option) So we simply look inside of controller mesh and it does not move. For this reason we can not see it.

2- if you attached "GoogleVRMotionController" component to VRCamera (Not VRScene Component) and move controller component a little bit forward (for example 0,20,0) you can see component actually does exist. It does not get only IMU sensor knowledge (imu sensor used for get realtime movements.) in tick.

3- Also buttons of Google Motion controller does not work with both of "Motion Controller Component" and "GoogleVRMotionController Component"

4- Display mesh material should attached with Idle material instance. Not master / parent material. If you want to solve this you should open engine and plugin contents and find GoogleVRMotionController Contents folder. After this you can simply attach idle material instance to controller static mesh.

I think it's about android api and google vr definations. because there are lots of changes for mobile section in this update.

I think google is aware that peoblem so they did not update 4.21.

avatar image eray_ozr Jan 03 '19 at 11:18 AM

Also my words "it does only 3DoF movement" is this. We know that GearVR and Daydream motion controller components work like a powerpoint slide pointer, right ?

In real world (even in Daydream demos) if there are 3 piece of buttom in front of you, you simply rotate your wrist. Not move your entire arm like a "camera rail". The issue is if you use "Motion Controller Component" rather than GoogleVRMotionController component, when you rotate you wrist, motion controller does not rotate it draw a circle in air.

But in demos or even pause screen (daydream home button) it works perfect.

avatar image aussieburger Jan 03 '19 at 12:01 PM

Yeah right the arm model is probably not working correctly if only using the default motion controller but it's still a 3dof controller just with a software side mathematically calculated 'arm model'. But technically it's still 3dof since you cannot extend your arm in front of you while keeping the controller forward.

Either way I've not tried the default motion controller workaround yet and probably won't as my project is running fine on 4.18 still. I'm waiting for 4.22 to hopefully have the controller and the new mobile improvements together.

FYI: there is a more critical issue btw rendering all 4.20+ branches useless for Daydream where you cannot submit an app to the Daydream store due to this bug:

https://issues.unrealengine.com/issue/UE-46640

details: https://github.com/googlevr-unreal/UnrealEngine/issues/38

when using Target SDK 26

avatar image eray_ozr Jan 03 '19 at 12:58 PM

Just tried UE 4.20 (Default binary / launcher version) everything works fine. Also they did not enable arm model to do wrist rotation.

Right now I am downloading GoogleVR branch 4.20 version. GoogleVR Quick Start in Google developer page says they integrated latest GoogleVR SDK.

Also, I voted that both daydream controller and daydream black screen issue (UE-46640) but controller one says it is non-issue. Is that mean they will not fix this ? By the way I report this controller issue to "https://epicsupport.force.com"

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Make sure to set "Motion Source" to "Any Hand" in order to enable Daydream motion controller.

https://docs.unrealengine.com/en-us/Platforms/GoogleVR/HowTo/MotionController

more ▼

answered Apr 04 '19 at 07:28 PM

avatar image

luklew10
0 2 3 7

avatar image eray_ozr Apr 16 '19 at 07:17 PM

Does not work. It's not about enabling. It can be enable but does not move right. UE4.19 and 4.20 works good. I havent tried in 4.22

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question