Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

Cannot upload new build - openvr_api.dll not accepted any more

FusionPlay_KonradFusionPlay_Konrad Posts: 29 Oculus Start Member
I tried to upload our latest built but the oculus command line interface refused to accept it. The reason was that "openvr_api.dll" is known to make trouble with the Oculus store. (thats what the uploader says)

Why is that? Since when is that? How do I solve that?

My previous versions all had openvr_api included, as it is a multi-platform title. So why it is forbidden to have this now? And how can I solve this? It would be a pity to not have the christmas update ready tomorrow :(

Comments

  • mcontemconte Posts: 29 Oculus Staff
    Hello there. What title are you trying to update?
  • FusionPlay_KonradFusionPlay_Konrad Posts: 29 Oculus Start Member
    The Title "Konrad the Kitten"
  • FusionPlay_KonradFusionPlay_Konrad Posts: 29 Oculus Start Member
    The exact error message is:
    "The package contains DLL libraries that are known to cause issues when running on the Oculus platform. These files must be removed prior to uploading: DeployBuildOculus/virtu-real-cat_Data/Plugins/openvr_api.dll"
  • ianmoran1970SSianmoran1970SS Posts: 11
    NerveGear
    Was there an update to this thread, we have also had the same with some of our thirdparty dlls. OpenVR being one of these.
  • richardbaxterrichardbaxter Posts: 2
    NerveGear
    Dear Oculus, not allowing openvr_api.dll is a serious issue for Oculus VR development as the Unreal VR template requires openvr_api.dll (the "SteamVR" plugin) to generate the chaperone. Do you provide a workaround for this error?

    see https://forums.unrealengine.com/showthread.php?116782-VR-(OpenVR)-Expansion-Plugin&p=640013&viewfull=1#post640013


  • richardbaxterrichardbaxter Posts: 2
    NerveGear
    If your project is using the Unreal Engine VR Template (4.13/4.14), you may receive the following error when uploading a build:
    "The package contains DLL libraries that are known to cause issues when running on the Oculus platform. These files must be removed prior to uploading: .../Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_2/Win64/openvr_api.dll"

    To workaround this issue, remove the SteamVR plugin (which relies on openvr_api.dll) along with all references to the SteamVR chaperone:
    1. Backup your entire project.
    2. delete the function calls to SetupRoomScaleOutline and UpdateRoomScaleOutline (following Event BeginPlay and Event Tick respectively) in the VirtualRealityBP/Blueprints/BP_MotionController Event Graph.
    3. Either;
    a. delete the reference to SteamVR Chaperone in the BP_MotionController/SetupRoomScaleOutline function blueprint, or;
    b. delete the functions SetupRoomScaleOutline/UpdateRoomScaleOutline from the "Room-scale" functions in the Functions panel of the BP_MotionController blueprint editor.
    4. Edit - Plugins - Virtual Reality - untick SteamVR enabled.


  • KdragosKdragos Posts: 19 Oculus Start Member
    To workaround this issue, remove the SteamVR plugin (which relies on openvr_api.dll) along with all references to the SteamVR chaperone:

    I'm using Unity for my app, and I want to support both the Vive and Oculus. Does this essentially mean that I'd have to have and maintain two versions of the same app? One for Vive and one for Oculus? Is there a way for this to be one app? It seems silly that there isn't a better way of doing this.

    How do others support multiple platforms? 
  • silpheedxsilpheedx Posts: 1
    NerveGear
    I would have to agree here. I just published on Steam and Viveport without any hangups regarding there being Oculus support on the same build.
    We should be able to publish using a build that also happens to includes openvr_api.dll .
    If this issue could be fixed it would be very very helpful for us developers.
    Thank you so much for anytime and help.
  • portalstudiosportalstudios Posts: 0
    NerveGear
    Dear Oculus, not allowing openvr_api.dll is a serious issue for Oculus VR development as the Unreal VR template requires openvr_api.dll (the "SteamVR" plugin) to generate the chaperone. Do you provide a workaround for this error?

    see https://forums.unrealengine.com/showthread.php?116782-VR-(OpenVR)-Expansion-Plugin&p=640013&viewfull=1#post640013


    Thanks a lot richardbaxter, I've implemented your workaround and it did indeed remove "/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_2/Win64/openvr_api.dll"
    For some reason Steamworks' dll was still present but I just manually deleted it.
    The game booted without any issues as far as I can see.

    However for us this does indeed mean we will have to support two different branches for our application if we wish to continue to public on the Oculus Store.
    I can't express how extremely disappointed we are having to invest to much time and effort into debugging this issue only to discover the root cause was Oculus having a corrupt policy.
    Either way as a developer this is very disappointing and only keeps proving how not-open Oculus is.
  • portalstudiosportalstudios Posts: 0
    NerveGear
    Dear Oculus, not allowing openvr_api.dll is a serious issue for Oculus VR development as the Unreal VR template requires openvr_api.dll (the "SteamVR" plugin) to generate the chaperone. Do you provide a workaround for this error?

    see https://forums.unrealengine.com/showthread.php?116782-VR-(OpenVR)-Expansion-Plugin&p=640013&viewfull=1#post640013


    Thanks a lot richardbaxter, I've implemented your workaround and it did indeed remove "/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_2/Win64/openvr_api.dll"
    For some reason Steamworks' dll was still present but I just manually deleted it.
    The game booted without any issues as far as I can see.

    However for us this does indeed mean we will have to support two different branches for our application if we wish to continue to public on the Oculus Store.
    I can't express how extremely disappointed we are having to invest to much time and effort into debugging this issue only to discover the root cause was Oculus having a corrupt policy.
    Either way as a developer this is very disappointing and only keeps proving how not-open Oculus is.
  • portalstudiosportalstudios Posts: 0
    NerveGear
    Dear Oculus, not allowing openvr_api.dll is a serious issue for Oculus VR development as the Unreal VR template requires openvr_api.dll (the "SteamVR" plugin) to generate the chaperone. Do you provide a workaround for this error?

    see https://forums.unrealengine.com/showthread.php?116782-VR-(OpenVR)-Expansion-Plugin&p=640013&viewfull=1#post640013


    Thanks a lot richardbaxter, I've implemented your workaround and it did indeed remove "/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_2/Win64/openvr_api.dll"
    For some reason Steamworks' dll was still present but I just manually deleted it.
    The game booted without any issues as far as I can see.

    However for us this does indeed mean we will have to support two different branches for our application if we wish to continue to public on the Oculus Store.
    I can't express how extremely disappointed we are having to invest to much time and effort into debugging this issue only to discover the root cause was Oculus having a corrupt policy.
    Either way as a developer this is very disappointing and only keeps proving how not-open Oculus is.
  • portalstudiosportalstudios Posts: 0
    NerveGear
    Dear Oculus, not allowing openvr_api.dll is a serious issue for Oculus VR development as the Unreal VR template requires openvr_api.dll (the "SteamVR" plugin) to generate the chaperone. Do you provide a workaround for this error?

    see https://forums.unrealengine.com/showthread.php?116782-VR-(OpenVR)-Expansion-Plugin&p=640013&viewfull=1#post640013


    Thanks a lot richardbaxter, I've implemented your workaround and it did indeed remove "/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_2/Win64/openvr_api.dll"
    For some reason Steamworks' dll was still present but I just manually deleted it.
    The game booted without any issues as far as I can see.

    However for us this does indeed mean we will have to support two different branches for our application if we wish to continue to public on the Oculus Store.
    I can't express how extremely disappointed we are having to invest to much time and effort into debugging this issue only to discover the root cause was Oculus having a corrupt policy.
    Either way as a developer this is very disappointing and only keeps proving how not-open Oculus is.
  • delphinius81delphinius81 Posts: 297
    Nexus 6
    You can support both in a single code branch. There are a couple things you need to do.

    1) You'll need to add some vr platform dependent defines, i.e. OCULUS and OPENVR. This can be done through an editor script through the PlayerSettings.SetScriptingDefineSymbolsForGroup function.
    2) Any locations where you refer to OPENVR specific functions or usings, wrap them in #if OPENVR ... #endif. This might require some code refactoring, but will make your life easier as you can now...
    3) Have an editor script to switch the active vr platform (set the define from 1), rename the openvr folder. Unity will ignore files/folders that start with ., so rename the folder to .openvr. When you want to build for openvr again, rename the folder to remove the leading period.

    No need to have separate project versions, you just need to write some editor build scripts.
  • m_glockm_glock Posts: 3
    NerveGear
    Does the latest version of Oculus Integration change anything of this procedure?

    https://uploadvr.com/oculus-port-rift-games-vive/:
    The change in the new Oculus Integration release is that its core features now support the SteamVR API

    I use SteamVR in my app and I just started to collect information about porting it to the Oculus Store and find it quite confusing.

  • twistedpixel_bobtwistedpixel_bob Posts: 27
    Brain Burst
    I implemented the steps outline by @richardbaxter, but I still have openvr_api.dll in my folder.  Do I need to do something else now?
  • creatoruecreatorue Posts: 1
    NerveGear
    openvr_api.dll mustn't cause any issues. Oculus Platform just doesn't want us to publish our game in any other platforms. This problem still remains now, July 2020.
    It seems that all we have to do is not to publish in oculus store till oculus become more open.

    Or, if you could do, you could just upload your zip file which contains your application, though the game is so large size that you may not zip up it, and I don't know whether you can pass the reviewing of oculus.
  • PcubedVRPcubedVR Posts: 4
    NerveGear
    edited July 26
    FYI, simply deleting openvr_api.dll allowed me to upload using the command-line utility. Plus our app is more than 1GB in size. It is possible the documentation is wrong.
  • beep2bleepbeep2bleep Posts: 53 Oculus Start Member
    m_glock said:
    Does the latest version of Oculus Integration change anything of this procedure?

    https://uploadvr.com/oculus-port-rift-games-vive/:
    The change in the new Oculus Integration release is that its core features now support the SteamVR API

    I use SteamVR in my app and I just started to collect information about porting it to the Oculus Store and find it quite confusing.


    You have to remove the SteamVR API from your Oculus build.  It's annoying but something they have had for years now.  You have to make a seperate build for Oculus, everywhere else you can include all of the APIs even if you don't use them.
Sign In or Register to comment.