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.

How to output for Oculus GO

JFLJFL Posts: 5 Oculus Start Member
Hi, we're putting together a piece for an upcoming art installation that incorporates VR and thought that Oculus GO could be a good solution.

We're familiar with building in Unity and putting the build on a laptop which we then plug a traditional HMD directly in to. How does this work though with Oculus GO?

What do we output to, and how do we get that to run on the device other than via the store as it's not an app just something that makes sense as part of this installation?

Can all of this be done quickly or are there delays/approval processes needed? Thank you!


  • ridoutbridoutb Posts: 72 Oculus Start Member
    edited May 2018
    @imperativity  I admit I am frustrated and confused on 4 fronts right now, all relating to deploying a Unity build to the Oculus GO. 

    1) Connecting my GO to a PC. 

    1a) I've noticed the when I'm in developer mode, the GO does not ask if I want to allow the PC access to files. Should I be in Developer mode? If so, should it still ask me that question when I connect it to my PC? Is it a problem if I am not prompted with this question?

    1b) I've installed the ADB driver (and also had previously had drivers installed automatically when plugging into USB). Regardless, my device rarely shows up in File Explorer. If I uninstall it through the device manager and keep plugging it into different USB ports, sometimes I get lucky. Do I need to see my GO in File Explorer?

    2) Android Studio Setup

    2a) This page (https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-studio-basics/) refers to "Mobile SDK VRSamples". It's not immediately obvious where to get that download. My best guess would be "Native Mobile" on the Downloads page, but that doesn't seem to have what I need. Where is the download?

    2b) I don't understand how Android Studio comes into play. Do I need to use it? I'm used to developing in MonoDevelop (C#) for Unity. What am I using Android Studio for?

    2c) Do I need to tell Unity where my Andriod SDK(s) are? How do I do that?

    3) Signing Apps and OSIG

    3a) I get I don't need and OSIG for GO. This page (https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-submission-sig-file) says "Unity automatically signs Android applications with a temporary debug certificate by default.". That's good enough for me to get a Hello World app running, right? 

    4) My main problem is the documentation never walks me through building my app in Unity and testing it on the GO. I'm just looking for "Hello World". That's what I really need to know. Right now I'm just stuck. 

    Thanks for taking the time to read this. I hope you can help. 
  • ridoutbridoutb Posts: 72 Oculus Start Member
    @imperativity Thank you. To summarize the problem is the docs are scattered about and they never seem to circle back to Unity to actually build something. For now, I'm trying to find/follow GearVR documentation. Even then, there are gotchas like needing the Android Support Setup package for Unity... I'll keep pushing through. 
  • ridoutbridoutb Posts: 72 Oculus Start Member
    edited May 2018
    Thanks for reviewing all that @imperativity  

    I'm getting closer but I'm stuck with an APK validation error. 

    I've managed to switch Unity to Android build (which required Android Support Setup for Unity). 
    I generated an AndroidManifest file using Tools > Oculus > Create Store compatible androind-manifest...
    I built an APK. 
    When I upload it as a new Alpha, I'm getting the following:

    APK Signed With Signature Schema V2
    APK is signed with Signature Scheme V2, which is not yet supported. Please disable signing with Scheme V2 and upload again (https://developer.android.com/about/versions/nougat/android-7.0.html#apk_signature_v2).

  • ridoutbridoutb Posts: 72 Oculus Start Member
    I managed to get a Unity app running on my go via Build and Run. At least I can iterate and test now. So, I have made it to Hello World. 

    For the record I ran into the issue here (https://forums.oculusvr.com/developer/discussion/64603/anyone-have-trouble-with-oculus-go-disappearing-from-adb-devices) which imperativity has already said has been escalated. Rebooting my GO while it was connected made my device appear in the ASB device listings.
  • ryunosukejansenryunosukejansen Posts: 2
    edited May 2018

    So I had this client a while back who had me make a GearVR project for a closed group of 50 people and the app was never intended to be released to the general public. Everyone had to register in advance and send us their device ids as part of the process and eventually, on the day it was a major f***up ending with me having to manually put every device into developer mode and building the app to each device in turn... That did not work out well at all...

    The client is still very much into VR and has been as keen as can be about the GO ever since it was first announced. He contacted me yesterday to say he might have another project lined up for me and this time he is targeting the GO. The first question that jumped to my mind was "How the heck are we gonna distribute this? Most likely this will be for a select few people at any one time since this will be a company pitch, not a world wide entertainment app. So how will this work?"

    So far I have read that I WILL need an osig file except I don't need it... only, I do... except I don't. So for the love of all that is holy in this world can someone please just answer me with a simple yes or no: "Do I need an osig file at any point while developing an app targeting the GO or when I am ready to distribute?"

    Secondly, how do I distribute this to a select few people? Will I have to guide business execs and architects how to put their devices into developer mode and how to manually upload APK files via the command line interface after setting up the various command line tools which may or may not include the Android Developer Studio which apparently I don't need in Unity as long as the environment is correctly setup ... which is something you do in Studio because that is how you get the stuff you need to install before you run into the bug where you can't build the app until you google the problem and find you need to download an older version to install only one file from that old version into the location of the newly installed version so that you basically trick the system into thinking you have an up to date installation but actually run an outdated core in the background as that is what is required to actually get things to build and run.

    I saw a 3rd party service offer to do what I thought would be the obvious choice which is to publish the app to the Oculus store and just set it as private or incomplete or whatever and just have the file made available to limited people. So can I do that or do I need to register all the recipients (i.e. people he wants to deliver a sales pitch to) as members of my client's organisation and have the people he wants to pitch to send him their phone's guids before they can download the pitch?

    Personally, after that first cluster***** I threw my GearVR in the back of the closet and haven;t touched it since. Instead I got myself a Rift and said I am now just building games for the Rift and s*** the GearVR.... but now that the client is back in the picture and HE is still super excited about the GO I guess I must either tell him to find another developer because even though I can build his project in a week I will require a month or three to figure out how to publish the finished project onto the GO... or I will need to go and learn how to do it. And so far the only question I have asked was "Do I need an osig file?" and the only answer I have found so far is "Yes, only no but yes except no, but yes. But no."

    So can someone just tell me already, please? Do I need an osig file during or after development?
    The next question is about the keystore. Unity creates a temporary one which we need to replace with a new one before publishing and THAT one we need to keep forever for any updates. Well, that is true for the GearVR. Is that still the case with the GO also? I am just a contractor after all. After I hand off the project I may or may not be involved with the project updates so do I need to keep the keystore for all eternity just in case or hand it off to the client or do we not need that for the GO?

    I kid you not, I made his last project in less time than it took me to figure out how to publish the project and here I am still asking the same questions... How do I publish the project? Why is this made so painfully uber-over-complicated? Can't I just have a "Build and upload" option / tool that uploads the project to the store from where I can give access to people? Call them beta testers if you will. That would make so much simpler if I could just upload the project and have them download it directly from their device. If such a thing could exist then I just have 2 more questions: Would I need an osig file to make use of that and would I need a keystore for that?

    Thanks for any input. :) 
  • ryunosukejansenryunosukejansen Posts: 2
    Thanks man. That info was super helpful! :D Love the clear and unmistakable opening! :D Much appreciated
  • MorbidMonkeyMorbidMonkey Posts: 1
    edited May 2018
    Just going to throw this out there..... super easy way to get video output with out the hassle....... go live  on Facebook from your OGO  and do a screen capture on the computer. Super simple no headache........ just for exporting video and live shot from the OGO.
  • olivier1232olivier1232 Posts: 2
    @imperativity, where can we find a step-by-step setup for developing for the Oculus Go with Unity on a Mac. As mentioned several times before by many others, the info is scattered in many different areas and always leaves massive holes preventing from getting it done in an effective manner. The different parts jump from 10,000 feet up in the air down to the most irrelevant details for when a developer is just starting. Would you know of an effective tutorial? There are a couple for Windows (which by the way should be in your documentation) but none for Mac. Please help. I cannot dedicate the time to search and learn all these disparate pieces of information - this is definitely not showing enough respect for developers.
  • SpooOnShoESpooOnShoE Posts: 1
    I completely agree that the documentation is either nonexistent or poorly written as to be useless. I've never had this much problem finding a short concise instruction on how to get up and running. I've been using unity for a decade but i've never had this much problem getting simple answers. Is it possible? What are the steps as of July 2nd 2018. Please. 
  • johanneslundbergjohanneslundberg Posts: 3
    I found this guide recently with all needed steps and can confirm it works:

    The only issue I stumbled upon was a build error. Took a while to figure out the fix, but the best workaround until Unity fixes this is to download the "mips NDK toolchain" linked as mips64el-linus-android from this thread:
  • nevynnevyn Posts: 3
    Thanks for this thread! Helped me put together some of the last pieces to get my Oculus Go development working. I also had the "mips NDK toolchain" issue, but solved it by changing Build System to "internal" instead of Gradle.

    Another "gotcha" was to allow permission from within the Go's UI when adb was trying to authorize/access it for the first time. Took a while to realize I had to put on the headset to allow it, and just enabling developer mode wasn't enough.

    I put together my own guide as a SO self-answer here: https://stackoverflow.com/a/52882622/48125 . It's Mac-centric so might not be as useful as @johanneslundberg's Medium post if you're running Windows. 

    Hope that helps!
Sign In or Register to comment.