Search Unity

Bug Unity 2020.2 Quest Physics Bug

Discussion in 'VR' started by ThatRaincoat, Jan 23, 2021.

  1. ThatRaincoat

    ThatRaincoat

    Joined:
    Jul 12, 2017
    Posts:
    27
    Been working on a VR project for a year now and recently an issue came up in our build that we haven’t seen before.

    Every few seconds anything that is moved by physics will appear to jitter/stutter for a few seconds then go back to being smooth.

    In some tests all physics motion is jittery from the get go and stays that way for a few minutes then go back to being smooth for a time. Sometimes it’s the opposite.

    We haven’t had any issue with physics stuttering before and the frame rate is a solid 72 fps with low CPU usage when using OVR Metrics.

    Additionally all physics objects are set to Interpolate.

    We recently updated to Unity 2020.2 so that is our current guess as to this new issue. We’d like to stay with 2020.2 if possible. We’ll experiment with a downgrade in the meantime.

    Is anyone else experiencing this?
    Is this a bug or could it be some other XR issue with fixed update?
     
  2. ThatRaincoat

    ThatRaincoat

    Joined:
    Jul 12, 2017
    Posts:
    27
    Downgraded to 2020.1 and the intermittent physics stutter is gone.

    Current guess is that it may be related to the Delta Time changes in 2020.2

    For now we’ll stick to 2020.1
     
    JoeStrout likes this.
  3. ThatRaincoat

    ThatRaincoat

    Joined:
    Jul 12, 2017
    Posts:
    27
    Out of curiosity I was able to pretty easily reproduce the 2020.2 physics bug on the quest by starting the game on device and then while it was running I pressed the power button to sleep the Quest and then pressed it again to wake it.

    The stutter came back every time.

    Tested on the older Unity and this doesn’t happen with 2020.1

    Also I tested both versions on Quest 2 and I was unable to reproduce the stutter on either 2020.1 or 2020.2 so it seems to only effect the Quest 1

    Hope this can help anyone who is experiencing weird physics stuttering on Quest. Staying with 2020.1 in the meantime.
     
    JoeStrout likes this.
  4. HolonauticDennys

    HolonauticDennys

    Joined:
    Sep 5, 2018
    Posts:
    1
    Hi, I have the exact same problem.

    Every version post 2020.2 has jittery physics in Oculus Quest.
    It's a shame because URP is a lot better and more stable in 2021 and needed for working with Quest.

    But I basically had to rollback to 2020.1.17 to have something production ready with physics on the Quest.

    The stutteriness seems to not appear inconsistently, sometimes it is present when launching the app, sometimes it only appears when the framerate is dynamically changed from 72 to 90 (this is an option in the game) and then it stars having jittery physics. The physics can be smooth and when putting the quest quickly to sleep and back on, then the game is consistently jittery.

    I also observed that as soon as I open the oculus menu in-game and then close it, it was consistently becoming smooth again.
    But not sure why this behaviours happens and I tried many different things trying to find a fix or a hack to prevent it:
    - Many different FixedTimeStep and different combination of Framerate
    - Manually simulating the physics by script
    - Trying out different solver iterations count for everything

    None of those helped. Pretty sure it is due to the Time.deltatime changes in 2020.2 which creates that physics jitteriness on the Quest.

    Any help would be appreciated :)
     
  5. ThatRaincoat

    ThatRaincoat

    Joined:
    Jul 12, 2017
    Posts:
    27
    I talked with support and they couldn't reproduce it unfortunately.

    They suggested I try 2020.3.3 and it surprisingly removed all physics jitters.
    Looks the same as in 2020.1.17

    Not sure at all why 2020.3.3 doesn't have the stutter.

    However I just did some testing with turning on Phase Sync and when Phase Sync is enabled I have the exact same physics jittery issues again! Turning it off returns it to normal in 2020.3.3

    Perhaps somehow Phase Sync was secretly enabled behind the scenes by default?
    I'd try enabling Phase Sync, building, then disabling Phase Sync then building again.

    Perhaps Phase Sync being somehow enabled in the background has been the culprit all along?!