Oculus Raycast jumping and off

Hi guys,

I’m trying to do a simple raycast towards where the user is looking, so he can pick up items and move them. However, my raycast is acting oddly, not staying put in one place. This is caused by the VR Supported setting, as it doesn’t happen when I disable this.

As for how the project is setup: the script below is attached to the maincamera, that is a child of the RigidbodyFpsController

The camera attached to the FpsController seems to jump up and down in rotation and position slightly every frame. Perhaps this has something to do with it.

A little GIF of my problem can be found here: Screen capture - 5a4efd10b577d16c02b415e2d0efa15f - Gyazo A second problem is that my raycast is different in the standalone than in the editor (its right in the editor, and way off in the standalone. What causes this?

Thanks!

    void Update()
    {
        if (manusActivated == true)
        {
            handDataUpdate(); //Get data from hands and set bools with it
        }

        drawRayCast();

        if (Physics.Raycast(faceRay, out hit))//If something is hit
        {
            setObject(); //Select object that is looked at when none is selected yet
            manipulateObject(); //Check if an object is selected, if so, allow manipulation
        }
    }

    void setObject()
    {
         hitp = hit.point;
        //If the raycast hits object with the right tag and nothing is selected yet
         if (hit.collider.gameObject.HasTag("SelectableObject"))
            {
                if (objectToMove == null)
                {
                    objectToMove = hit.collider.gameObject;
                    objectToMoveSelected = true;
                }
            }
    }
    void drawRayCast()
    {

        Debug.DrawRay(transform.position, transform.forward * 20, Color.green); //Draw line to debug
        faceRay = new Ray(transform.position, transform.forward);  //Create raycast
    }

After being stuck on this for days, I found the solution: changing the Smooth Time of the RigidBodyFPSController from 18 (standard) to 1, or whatever works for you, fixes this. No idea why, but it does.

I’d suggest You to take a look at Gaze Input implementation in Unity VR tutorial in learning section VR Best Practice - Unity Learn and sample scenes Unity Asset Store - The Best Assets for Game Making it’s a bit tricky and instantly changing there.