Difference between OVRPlugin and OVRManager

I am developing for the Quest 2 and always thought OVRManager is from Oculus Integration and OVRPlugin from Oculus XR Plugin. I noticed both are only working when installing Oculus Integration, so what is the difference?

2 Likes

Bump?

This is just speculation from spending ages working with the Oculus Integration, but OVRManager is a singleton that Oculus intends for you to use to access most of the OVRPlugin’s functionality in a “friendly” way. The OVRPlugin.cs is the wrapper directly around the native OVRPlugin.dll and usually has a less friendly, more direct, interface to the systems you may want to use.

Like, if you want to detect if the HMD is mounted/unmounted you could directly poll the OVRPlugin.userPresent property every frame, or you could use OVRManager’s HMDMounted/HMDUnmounted events.

It can get confusing because there are often enums in OVRPlugin and OVRManager that appear to be identical, but my rule of thumb is you probably shouldn’t be using the OVRPlugin one.

1 Like

Thanks a lot!