Skip to main content
Up and Coming
June 27, 2019

Integration 1.38 OVRPlayerController seems to be buggy. I am getting pushed around!

There may be bugs in the OVRPlayerController script in the 1.38 Integration or possibly in how it integrates with the required Unity CharacterController component. There were lots of problems with getting pushed around and off the map. Both in the locomotion and grab examples from the package as well as when i used the scripts in my own scene. Even when I programmed my own locomotion script if I added the OVRPlayerController to my character I would fall through the environment once I moved. If I removed the OVRPlayerController and just kept the CharacterController as a collider all was well with the world. Unfortunately, OVRPlayerController does a lot of other things too like keeping your Character and HMD in sync. So I am afraid I am going to have to go in there and pull out the code I need. I am hoping I won't pull the buggy code too.

Just wanted to report what I found. I have seen others mention being pushed off the map and stuff with no solutions given from the community or Oculus but I have not seen anyone equate it to the OVRPlayerController.
Thanks.

P.S. Have I typed OVRPlayerController enough yet?

    6 replies

    Up and Coming
    June 27, 2019
    I remember a past client of mine having similar problems. Not related to OVR, but he had his FP-Controller "drifting" and "being pushed around" when picking up stuff.

    It turned out, after i examined his setup, that he had tons of colliders that had various rigidbodies and physics related components attached. (His player model had colliders for hit detection and stuff, these where clipping in and out of the capsule collider...) His controller script was also moving things to layermasks without him being aware of that. (i assume he built his controller off of some template)
    Maybe the OVR stuff affects physics layers or something ¯\_(ツ)_/¯

    SO, his player was being pushed around by interfering colliders that where set up weirdly.

    Until you find and answer or an official Fix is announced i guess it would not hurt if you check your physics setup and whether there are any colliders that could affect your character controller.

    Also, have you tried putting additional planes below the floor and see if you fall thorough all of them or just the first one?

    Hope that doesn't just waste your time





    mousebear
    Honored Contributor
    June 27, 2019
    You may want to increase the "Fixed Timestep" value (within the Unity editor, under the Edit -> Project Settings -> Time menu) to match the max framerate of your device. This value determines the rate at which your physics objects update; this is set to 0.2 as default within Unity (50Hz). You can refer to the following chart to determine which values to enter based on device:

    50Hz (Default) = 0.2
    60Hz (Gear VR) = 0.0167
    72Hz (Quest/Oculus Go) = 0.0138
    80Hz (Rift S) = 0.125
    90Hz (Rift) = 0.0111

    This not only makes the physics within your experience smoother, but it also solves the issues around teleporting.
    If you need immediate help or want additional support/context on an issue you are having with our platform or integrations: 1. Gather any and all logs , screenshots, and version numbers of relevant software (Oculus SDK, engine, etc.) 2. Please submit a ticket here through the "Contact Us" link (include what you've gathered in step 1). 3. Tag me @mouse_bear once you have done so!
    plyrekAuthor
    Up and Coming
    June 27, 2019
    Thank you both for your replies. I did try the two plane thing and fell through both. I only have the plane collider and the character controller collider in the scene and they work fine if there is no OVRPlayerController component so I don't think it is that. I will up my Fixed TimeStep and will be coping your numbers to my permanent notes!
     
    Participant
    June 30, 2019
    Timestep value didn't change anything for me, but thanks for that knowledge which I shall apply going forward anyway. For me disabling the CharacterController script fixed the glitches and flying off into the abyss that I was experiencing when testing the Locomotion scene in the Oculus Integration stuff.
    plyrekAuthor
    Up and Coming
    June 30, 2019

    vr_voxel said:

    Timestep value didn't change anything for me, but thanks for that knowledge which I shall apply going forward anyway. For me disabling the CharacterController script fixed the glitches and flying off into the abyss that I was experiencing when testing the Locomotion scene in the Oculus Integration stuff.


    vr_voxel,
    Timestep didn't work for me either. It is definitely the interplay between the CharacterController and OVRPlayerController that is causing the problems. Not only in the locomotion script but in the DistanceGrab scene as well.  :(
    Up and Coming
    July 1, 2019
    I suggested the multiple ground thing to test for Timestep errors - 'cause it's unlikely to clip through multiple colliders due to physics update rates.
    You can easily calculate the fit of Timesteps for each frame rate or refresh rate by: "1/refresh rate"
    Just so you know, no need to note them down. Note the formula if needed ;)

    Are you by any chance on a newer non final (alpha/beta) build of Unity?
    I had trouble with Unity2019 and went down some version while still using Integration 1.38 without being pushed around.
    Unless i stand on top of what i pick up but that's more of a logic thing than a bug :D

    Tired going down one final release?