01-03-2022 06:08 AM
Hey All,
I've been trying to get the Oculus Spectator mode (https://developer.oculus.com/documentation/unity/unity-spectator-camera/) working, but I can't even get the example scene to work. The switch between first-person view and spectator view does nothing for the 'cast view'.
I've tried with multiple unity versions, oculus SDK versions, cast devices, and HMD's (Quest 1 and 2).
Development build is off and experimental features are on, am I forgetting something?
Has anyone ever made this work? And if so; how?
Thanks in advance!
02-24-2022 08:01 AM
Did you manage to solve this issue?
04-04-2022 01:30 AM
Nope, feature seems abandoned and left broken in the SDK
09-06-2022 09:40 PM
Has anyone figured out the solution to make it work ?
11-12-2022 03:37 PM
I've only ever seen it in Noda, no other app I know of. It's demoed briefly here: https://youtu.be/91g3FipCIeQ
12-09-2022 04:07 AM - edited 12-09-2022 12:23 PM
I've implemented the Spectator Camera in my game (https://colorball.quest/) and it worked pretty good:
https://www.youtube.com/watch?v=AryFnr9-kQk
But it seems that it stopped working on newer Quest versions 😭
I'm not able to reactivate it... really seems abandoned 😠
It was such a great feature... 😥
03-29-2023 08:43 AM
Any news on this?
03-30-2023 05:50 AM
I have the exact same problem here.
06-26-2023 09:50 AM
latest SDK release notes mention some progress on spectator mode but i still can't get it to work. any ideas why?
11-08-2023 06:51 AM
I'm also trying to get it to work. I made a fresh build from the example scene and what I found is that most of the code works except for the actual casting. It adds an external camera, it updates the head sphere transform, it responds to the controller inputs to position the selfie screen.
It also supposedly succeeds in setting the camera to initialized when pressing the trigger, as OVRPlugin.Media.SetPlatformCameraMode(OVRPlugin.Media.PlatformCameraMode.Initialized) returns true. But looking at OVRPlugin.Media.GetPlatformCameraMode() it either doesn't actually succeed or is reset immediately to OVRPlugin.Media.PlatformCameraMode.Disabled.
OVRPlugin.Media.IsMrcEnabled() tells me MRC is enabled, but not activated, as OVRPlugin.Media.IsMrcActivated() is false. I'm also reading OVRPlugin.Media.IsCastingToRemoteClient() but it doesn't change to true when starting a stream to the smartphone app. According to OVRPlugin.Media.GetMrcActivationMode(), which is set to Automatic, it should activate once the stream starts but apparently OVRPlugin.Media is not properly integrated with the stream.
According to the documentation (https://developer.oculus.com/documentation/unity/unity-spectator-camera/), devs are supposed to check for Oculus.Platform.Core.IsInitialized() but the Oculus namespace is deprecated, and doesn't include Oculus.Platform anymore. It also says to "Ensure that you setup the platform with an app ID as it is required for the platform initialization."
My fresh build didn't have an app ID set in the platform settings and I didn't want to make a new project in the Oculus backend so I tried building the same example scene from my existing app with its ID but there I get an "OVRMrcLib not loaded" error and the code breaks entirely, not updating the head position or responding to controller inputs. Then I tried using my app ID in the fresh spectator mode scene build but there it neither breaks anything nor does it enable the last step of activating MRC.
So that's at least two things that are broken. OVRPlugin.Media is maybe shut out of accessing streaming because of security reasons? Or it is waiting for communication from another mixed reality capture app like OBS (since spectator mode is branched off of MRC)? The "OVRMrcLib not loaded" error in my active project is a further headache, no idea what is causing this.