Today I am publishing a very specific post to help Oculus developers in a particular situation I have been myself in: how to release an update to your App Lab experience when the “Production Channel” is missing in the Oculus Developer Hub interface and the web uploader has become obsolete.
My story with this problem
(Here I tell you my experience of dealing with this problem. Skip this section if you want to go the solution directly)
A few days ago, we from New Technology Walkers finished developing our latest update to our VR fitness game HitMotion: Reloaded, where we have integrated bHaptics and LIV support, among other things.
We were super excited about our work and couldn’t wait to post our update on the App Lab. I then went to the Oculus Developer Dashboard website for our team and clicked the button to upload a new build to the current production channel. The production channel is where you release builds that have to go live so people can directly download them from the store. After happily clicking the button, as I did for all the recent updates, the site showed me this not-so-nice dialog:
Do you know the moments when you are happy that you are going to finish something in 5 minutes and then an unexpected event happens and you realize that it will take a lot more than expected? Well, that was one of those moments. Damn.
But I did not give up. Of course, I would not use the command line to perform this operation (I’m not one of those hackers from the movies, I’m just a lazy developer), so I downloaded the Oculus Developer Hub (ODH), which is like a super tool that Oculus has created for help us developers manage our Quest, debug our experiences and manage the publication of our builds. It’s a lot of time that I would actually experiment with it, but I’ve always been too lazy to download it (I think you’ve already heard it), so I thought that was a good excuse to start to work with it.
So I installed ODH, I launched it, I logged in with my Facebook / Oculus account, and I saw that it actually had a very nice interface and a lot of features. It seemed like a great tool, and I was sure I was going to upload my build in 5 minutes. I went to the administration page in relation to HitMotion: Reloaded and I saw this.
The latest build appears to be uploaded correctly to the production channel (see the text in the upper right corner of the image), but in the list of channels where I could upload my current build, there is no production channel. There are only Alpha, Beta and Release Candidate Channels. Do you know the moments where you think you can do something in 5 minutes, and then … well, you have the idea.
I clicked the “Manage” button below the name of our game, and I found myself again in the web-based development dashboard, with the upload button that again said I should use the Oculus Developer Hub to upload my build. It felt like a joke: the web uploader worked so well, so why did they remove it ??? I was now a bit stuck in an upload hell … I had no way to upload my build to the production channel! All our fans (I mean, our moms) were waiting for the new version of our game, but we had no way of uploading it to the public store.
The solution: How to upload an update to your App Lab experience
There are different solutions to this problem and I will tell you what worked for me.
According to the documentation, I could use the command line tool, but I was not willing to go into full-nerd mode. I think I could also upload my build to the Release Candidate channel and then use a special command to move it from RC to Production (this kind of operation is possible with the command line tool), but I would do it in just one step. I then chose to use the Oculus uploader in Unity, which let me use a GUI, and it was therefore easier for me to operate with. If you’re an unreal person, the good news is such a tool is also available for UE4.
Let me show you the steps I followed:
- I built our App Lab experience into an APK as usual in Unity
- Staying in unit, I clicked on the menu Oculus -> Tools -> Oculus Platform Tool. Of course, you need to have the Oculus Integration plugin installed in your project to see this menu item. At this point, an Oculus dialog opens. It’s GUI that lets you upload your build. It’s not sexy, but it works well. Now we need to put some data here and continue uploading
- To get the data you need, open your browser and go back to the page about your game in the Oculus Developer Dashboard. Once in it, click on the “API” tab. You should see some numbers … these will be useful in a while.
- Return to the Device window
- Copy the app ID from the dashboard side to the Oculus Application ID field in the Device dialog box
- Copy App Secret from the dashboard side to the Oculus App Token field in the Unity dialog box
- Relase Channel must be “LIVE”. If you try to write “Production” or one of its variations, it will not work. The correct name for this field is “LIVE”. I have spent a lot of time understanding this because it is poorly documented … thank me later for this tip 😉
- As release notes, write what the main features of your update are. For us, it was “Integrated LIFE and bHaptics support. Implemented area in the game. Various fixes and improvements ”
- Build APK file path has a “Select …” button. Click on it and find the path to the APK you just built and which you want to upload
- You can choose whether or not to upload the troubleshooting symbols. If in doubt, do not upload them.
- Leave all other options as they are unless you need to change them for some reason. For example, if you If you have extension files for your build, select them in the Optional Commands section
- Deselect “Run OVR Lint”. It is recommended by Facebook, but in fact it will complain about the things you have not optimized according to Oculus suggestions and I guess you will upload your build quickly and not get annoyed by the suggestions from the Lint tools. Of course, make sure that your APK has all the correct features that Oculus asks for (so it has IL2CPP backend, ARM64 platform and it is signed), or it will be rejected by the rating team
- Press the Upload button
- Wait for the tool to perform the upload. It may need some attempts to do so, but in the end, if you have done everything right, it should succeed
- Amazing, at this point your build should be published!
New instant release feature
After I released HitMotion: Reloaded this way, I noticed that the game immediately went live. Looks like Facebook has changed the rules: If your game has already been approved, all subsequent updates are immediately pre-approved, and therefore published. Later, someone from the Oculus team reviews them and tells you if there is anything to change. This is great for us devs because we do not have to wait 4-5 days for approval of our build to see our updates go live. They go live immediately!
UPDATE (2021.10.07): Arnaud from the great game Crazy Kung Fu (which you can find on the App Lab) suggests that when you have a game that is not just a demo, but something a little bigger and with a good community (like his game), it is better not to publish directly to the production channel, but on one of the other channels (eg RC) so that some testing can be done on the new version of the application before going into production. To follow this path, the steps are:
- You upload your build through the Oculus Developer Hub on the channel you want to publish it to (eg RC)
- Your people who can access that release channel test it and check that we workll
- At this point, go back to your Oculus Developer Dashboard, go to the page relative to your app, and select the Distribution -> Release Channels tab
- Click on the production channel (App Lab)
- At this point, you have a drop-down menu where you can select a build. Among these builds, find the one you uploaded to Release Channel. Select it to publish it on your production channel
- Enjoy your new released version!
And that’s it! Now is the time to announce your amazing new update for your App Lab experience! But before, Be sure to share this post with your other developers to help them too!
(Main image of Facebook)
Disclaimer: This blog contains advertising and affiliate links to maintain itself. If you click on an affiliate link, I’ll be very happy because I’re earning a small commission on your purchase. You can find my boring full revelation here.