Search Issue Tracker

Fixed in 2017.3.0f3

Won't Fix in 2017.1.X

Votes

57

Found in

5.4.0f1

Issue ID

814569

Regression

No

[VR] Canvas should not lag behind when attached to a spatially tracked object

XR SDK

-

Verified FIXED with 2017.3.0b6 and SteamVR 1.2.2

Steps to reproduce:
1. Download and open attached project "FloatingCanvas.zip"
2. Make sure HTC Vive is set up and connected
3. Make sure VR Mode is on in Player Settings\
4. Play the project

Actual result: Left hand has a cube and canvas as child object. Moving hand in space you can see that the canvas lags behind the cube and the controller

Expected: No dragging/lagging behind

Tested and reproduced on:
Windows 10
Unity 5.4.0b22, 5.4.0f1

Workaround:

A workaround is to modify the SteamVR_UpdatePoses.cs script.. change OnPreCull to LateUpdate. This will make the controllers line up with the UI but they will be slightly more latent, so it is only recommended updating in LateUpdate when you need UI attached to the controllers.

A proper fix for this is scheduled for 5.5 where the controllers will be updated before the UI, bringing latency down.

Comments (18)

  1. shubhamswaraj2021

    Aug 18, 2020 16:57

    good one <a href="https://www.lyricsauto.com">lyricsauto</a>

  2. jkh0208

    May 01, 2020 05:52

    This is still happening in 2019.3.10f1 with Oculus Rift S.

  3. sunelda

    May 16, 2019 14:33

    Hello everyone!

    I am having this issue with Oculus controllers as well.

    I parent a world space canvas to the controller and it lags behind. The faster I move the controller, the further away the canvas lags behind.

    Can anyone please help me?

  4. Ruud3DV

    Mar 16, 2018 19:12

    Canvas lag still happening with Unity 2017.3.0f3.
    Tested by attaching a Worlds Space canvas as child of the camera, noticable judder/jitter when moving your head. Happens with Google Cardboard, Google Daydream and Oculus Gear VR (with OVRCameraRig). Can this issue be opened again?

  5. Nigey

    Nov 23, 2017 19:26

    This is definitely not resolved. Re-tested with empty environment.

  6. rburgoyne

    Nov 11, 2017 11:10

    I'm still seeing this issue as well in 2017.2.0f3 for macOS

  7. InvictusCo

    Oct 17, 2017 02:07

    This issue is definitely not resolved

  8. manuelgoellnitz

    Jul 13, 2017 15:05

    I found a workaround:
    The position and rotation of the controllers is updated in the Script "SteamVR_TrackedObject.cs" in the method OnNewPoses().
    This Skript I modified like this: Instead of setting the position and rotation in OnNewPoses() i store the information in variables.
    Then i add the Unity Update() functions and do the setting there.
    I Do it in Update(), LateUpdate() and FixedUpdate() because otherwise it seamed not fluend, but that could easily caused by my vive rig setup and not the code.

  9. scvnathan

    Jul 07, 2017 18:12

    As a workaround, one thing you guys might try is manually updating your UI elements by listening to SteamVR's NewPosesApplied event.

  10. DaveLloyd

    Jul 04, 2017 16:30

    I've also hit this with the new update to 1.2.2 and the fix is no longer possible.
    Any alternate fix or revert to 1.2.1 until a fix comes along?

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.