cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus Quest Social Starter / Platform SDK Unity

Zig420
Protege
Did anyone get working the social start or platform SDK on Oculus Quest
using unity? I'm trying to get the matchmaking and rooms working but
running into a lot of problems. For example the Social starter sample in
the avatar directory crashes when I try to run  it into the Oculus
Quest. It compiles fine, I see a glimpse of the environment but then
crashes everytime. If anyone has got mutliplayer game on unity working
please let me know. Would love some help.
10 REPLIES 10

Jattier
Protege
I haven't tried to do this yet, but it's something I want and need in the app I'm building.  I'd be happy to work on it with you.  Let me play around with it a bit and I'll let you know what I find out.

Zig420
Protege
I contacted support and apparently you need to have your game approved by oculus , which is nearly impossible from what I’ve been told, to be able to build a multiplayer game, even in development for testing. Completely idiocy and not documented anywhere. 

attyran
Honored Guest
Bumping this up. Is this still only possible after your app has been approved by Oculus? Doesn't make much sense to me that their own sample scene requires a published app. Shouldn't creating the app with an app ID be enough?

Jattier
Protege
No, that's not correct.  Here are the instructions from the README:

1. Create a new Unity project.

2. Import the Oculus Integration from the Unity Asset Store. The Oculus Integration contains everything you need to use Oculus Avatar and Oculus Platforms.

3. From the Oculus Dashboard, create an Oculus Rift app and copy the App ID. An App ID is required to use Avatar and Platform features. There must be a build associated with the App ID uploaded to a release channel on the Dashboard for full functionality. The email address associated with your Oculus account must be added to the Users list of the release channel.

4. From the Unity Editor menu bar, select Oculus Avatars > Edit Configuration and place your App ID in the two fields for Oculus Rift App Id and Gear VR App Id.

5. From the Unity Editor menu bar, select Oculus Platform > Edit Settings and place your App ID in the two fields for Oculus Rift App Id and Gear VR App Id.

6. Make sure the prefabs are set correctly. Select the OVRPlayerController object in the scene:

a) Local Avatar Prefab should be set to the LocalAvatar (OvrAvatar) prefab found at Assets > Oculus > Avatar > Content > Prefabs.

b) Remote Avatar Prefab should be set to the RemoteAvatar (OvrAvatar) prefab found at Assets > Oculus > Avatar > Content > Prefabs.

c) From Assets/Oculus/Avatar/Samples/SocialStarter/Assets/Materials, drag Help to the OVRPlayerController’s Rift Material property.

d) From Assets/Oculus/Avatar/Samples/SocialStarter/Assets/Materials, drag GearHelp to the OVRPlayerController’s Gear Material property.

Having a build on a release channel does not mean it has to be approved by Oculus.

attyran
Honored Guest
Hi @Jattier

Yes, I actually followed those instructions and had to hack the code a bit. A few things:

+ The current dashboard only lets you create a new app for the Rift or the Go, not Quest. Seems like access to the store is still pretty restricted. I ended up picking the Rift option anyways and used the App ID in Unity. I think this forces me to create an APK that was compatible with 3DOF devices (see next item).
+ In order to upload an APK to the RC, I had to do a few hacks ie disable v2 signing, and set headtracking to false in the manifest so I can support 3DOF devices.
+ Once I uploaded the APK successfully and whitelisted myself. I launched the SocialStarter scene on my quest and it still failed with message saying it failed the entitlement and the app exits immediately.

For reference, I am on Unity 2020.1.6f1 using Oculus Integration 20.0.0. 

Jattier
Protege
The Rift/Go issue has been a problem for a long time.  I'm still not entirely sure which I should use for the Quest.

The entitlement check is a different issue.  You have to be using either a test user, a registered developer, or a project admin. You can test this ahead of time with Unity.  Under Oculus -> Platform, you can sign in.  The sample Entitlement script will allow you to toggle whether or not the app immediately quits.

attyran
Honored Guest
Hi @Jattier,

I have tested the sample EntitlementCheck script and yes, by providing the login and running it in the Editor, it passes Entitlement. My problem is I build the apk, and install it to my Quest, then launch it from there. That is where it seems to be failing. Seems like multiplayer can only be debugged via the Editor or Oculus Link for now?

To clarify more, I am running Unity on Mac and unfortunately the Oculus Link only works with PC, so I don't think running it from the Editor will work for me. For each build, I build the APK in debug, install and run it manually on the Quest.

attyran
Honored Guest
I also got this email from Oculus, after filing a ticket:

"Currently, the use of certain platform features (such as release channels and Oculus Keys) for Oculus Quest apps are only available after being accepted through the Quest Publishing Access process. Should this change in the future, we will be sure to let our developer community know.".

Seems like that is the only official way at the moment.

Jattier
Protege

To clarify more, I am running Unity on Mac and unfortunately the Oculus Link only works with PC, so I don't think running it from the Editor will work for me. For each build, I build the APK in debug, install and run it manually on the Quest.


I'm in the same boat.  I ended up installing Bootcamp and booting in to Windows for some situations.  You can also set it up to either use the MockHMD (Legacy XR) or disable auto startup of XR so your Mac will be in "pancake" mode and you can then use your Quest to connect to it.