Search Unity

Oculus Go: AppID found in Library does NOT match the appID in the bundle

Discussion in 'VR' started by JoeStrout, Sep 10, 2018.

  1. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I've got an Oculus Go app developed in Unity 2018 (on a Mac), which we've been testing by side-loading the apps (either by building directly from Unity, or by using adb install). So far so good.

    But now I want to get the Oculus user name and add VoIP, so I'm delving into the Platform SDK. I read through the docs but it's hard to sort out which bits apply in my situation. I created an app in the developer dashboard, and filled that in on the scriptable object accessed via Oculus Platform > Edit Settings. Then my code is calling Core.AsyncInitialize() and Entitlements.IsUserEntitledToApplication().OnComplete(EntitlementCallback).

    But watching the logs, I'm getting a number of errors, the most serious of which appears to be these:

    So let's take the first: AppID found in Library does NOT match the appID in the bundle. What does this mean? Is it referring to the numeric app ID that I filled in via Edit Settings, or the application bundle ID? Is there someplace else I am supposed to fill that in?

    As for the second, is this referring to the side-loaded (built directly from Unity in this case) state of the app? I saw the section "Configuring your app for local development," but I thought that meant running within the editor (which is probably something you can do on Windows/Rift, but doesn't apply to my Mac/Go situation). Certainly that bit about adding something to the "registry" sounds like a Windows thing.

    Can anyone explain what I need to do to get rid of these errors?
     
  2. spacefrog

    spacefrog

    Joined:
    Jun 14, 2009
    Posts:
    734
    My post might get confusing, but i'm pretty tired and the procedure for this is complicated anyways, but i'll do my best:

    I assume you created a mobile App on the Oculus Dahsboard (not a rift app) Then entering the AppID in the OculusPlatformSettings scriptable object in your project should be the next step ( again the mobile/GearVR appid - they are different from the Rift AppID ). You seem to have done that already
    Hint: don't try to set the AppID from code, use the scriptable object/Oculus Platform->Edit Settings menu ). Setting it per code collides with what the Platform SDK itself is doing (at least it was about 2 months back when i tested )

    To test on the device (only option, because of Mac) , you have to create an Oculus Store ready build ( specific Androidmanifest, and signed ( not debug !). Then you have to upload and publish that build once on the dashboard in the alpha channel. At the same place you can invite oculus testusers per email ( the email which they are registered at oculus ). You will invite yourself as testuser there. The testusers will receive an email and have to accept the invite

    After a short delay the testusers will see your app appear on their device's library then in a special preview section
    Now you are allowed to launch your own app and make use of the platform features. In the future you directly can build and deploy to the device, as you "own" the app then. You might come into the situation where direct deploy from Unity/ "adb install" does'nt work, but fails to install the build ( because a store signed one is already installed ). You have to uninstall your store installed build again ( your right to launch the app remains ). Either via Oculus menu or "adb uninstall"

    Personal note: With all the hurdles and fail scenarios one has to deal with when developing using the platform SDK, i really can't imagine using a Mac without the ability to test and debug right from the editor and a Rift attached. The deploy/debug/test cycle delays would drive me insane in short time...
     
  3. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Yikes! You're right, that sounds like an awful lot of hoops to jump through.

    But of course in this case using a Windows machine, with a Rift attached, wouldn't really help that much, as we're developing a Go app. I suppose the Platform SDK might be similar enough that we could do some testing by making a Rift version, but I wouldn't want to switch back and forth — it takes a good half hour every time I switch to the Go target (mostly recompressing textures, and then recompiling a zillion shader variants on the first build thereafter).

    So I need to get set up to build & test directly to the device. It sounds like once I publish once in the alpha channel, this might just work.

    Thanks so much for the push in the right direction.
     
  4. spacefrog

    spacefrog

    Joined:
    Jun 14, 2009
    Posts:
    734
    Use the Assetcache server ( even local directory works ) to prevent long conversion time: this cuts target platform switching down to a matter of seconds. Platform development on Go and RIFT is the same. Test the platfom comms with two GO headsets will not be funny...
    Its far easier to test the platform communication bewtween Rift and Go than to have to build and swap two headsets all the time. But i see that windows might not sound tempting when being a Mac user

    Just wanted to add, that using the Rift in the Editor to build for mobile VR ( Gear or GO ) is a total pleasure. I do this since ever, only deploy to device once in a while and of course regularly towards final development stage. During testing deploying to the device just involcces a keyboard combo ( ctrl-b ). I would not turn down the immense benefit of that development combo ( Rift + Editor ) for Gear and Go
     
    Last edited: Sep 10, 2018