SteamVR error 109 issues

I figure this would be the better place to ask since the problem is more Unity-centric and this site is more game design focused.
I keep getting error 109 Not Initialized in the debug log. This is the chunk of code that spits it out in SteamVR.cs:

static void ReportError(EVRInitError error)
    {
        switch (error)
        {
            case EVRInitError.None:
                break;
            case EVRInitError.VendorSpecific_UnableToConnectToOculusRuntime:
                Debug.Log("[SteamVR] Initialization Failed!  Make sure device is on, Oculus runtime is installed, and OVRService_*.exe is running.");
                break;
            case EVRInitError.Init_VRClientDLLNotFound:
                Debug.Log("[SteamVR] Drivers not found!  They can be installed via Steam under Library > Tools.  Visit http://steampowered.com to install Steam.");
                break;
            case EVRInitError.Driver_RuntimeOutOfDate:
                Debug.Log("[SteamVR] Initialization Failed!  Make sure device's runtime is up to date.");
                break;
            default:
                Debug.Log(OpenVR.GetStringForHmdError(error)); //error comes from this case
                break;
        }
    }

And below is what the debug log looks like (the blacked out errors are not relevant):

As you can see from the little black SteamVR pop-up, SteamVR’s desktop app is running fine, everything is connected and that programs is not spitting out errors. I looked this up on the Steam forums, typically the 109 error actually comes from the SteamVR app itself. So…my project seems to run okay (except for raycasts not rendering) but something is still not being initialized?

Here are things I tried to do as a fix that I found online, but did not work:

  1. Tried stable release of SteamVR (non-beta)
  2. Fresh install with latest beta release + rerunning room setup
  3. Update GPU drivers
  4. Make sure headset and monitor are both plugged into GPU via HDMI
  5. Add all SteamVR apps in Nvidia Control panel and put power setting at max performance
  6. Upgrade the SteamVR Unity Plugin from 1.2.2 to latest 2.0.1 (which now gives me two 109 errors and a NullReferenceException from SteamVR_Render.cs)

So, my question is: what is the exact issue for 109 and the render error, and what’s the fix? Anyone encounter anything remotely similar?

The issue is that Unity is trying to use Oculus natively, but the SteamVR Plugin only supports it through OpenVR. And by default, native Oculus support has higher priority than OpenVR (which makes sense in most other situations).

Go to Player Settings > XR Settings. Under Virtual Reality SDKs, ensure that OpenVR is above Oculus in the list. In latest Unity versions, you can drag-drop to rearrange the list. In older versions, you may need to remove and re-add both in the correct order.

Note for others coming to this thread: the above applies ONLY in the situation where the issues are limited to the SteamVR Plugin inside Unity, but the SteamVR desktop app works fine. If you’re getting error 109 from the SteamVR desktop app, that’s a completely different situation, and unrelated to Unity. That’s when you need to start worrying about GPU drivers and HDMI ports and so on.