Oculus Quest / Rift Example Unity Project available on GitHub
So many people are having trouble with getting this going, I've started a simple example project. It's not complete yet -- I only just started it. But you're welcome to look at what I've done and how I did it. I intend to show how to get it working with a Quest and a Rift -- I don't own a Rift S, but I assume it's the same as a Rift, generally speaking. Again, let me say that I'm not finished. But you can see an early look here. https://github.com/Corysia/Unity-Oculus-Example4KViews4likes8Commentshow to debug build failing app submission that works locally
we are trying to test submitting a test preview version of our app in preparation for future submissions, but our app crashed on launch during the automated testing phase. However, when we download the submitted test build and run it on our machines it works fine. The crash logs only gave two error messages, one of which is related to oculus use in Unity and the other informing us that we need pdb files in order to get detailed crash logs. However, when trying to upload the build to the beta branch using ovr-platform-util I get the following error: This build contains the following debugging files, which violates VRC.PC.Security.3 player_win_development_x64.pdb So I'm wondering what I should do to further debug this and get the process rolling. Is there any way to get more detailed crash logs?1.2KViews2likes0CommentsOculus Integration's GetLoggedInUser() returns user ID = 0
We use Oculus Integration to source the user's ID, but we observe problematic responses for specific user account's responses from the Oculus SDK. The implementation itself is minimal to present the issue: Users.GetLoggedInUser().OnComplete(delegate (Message<User> message){ user = message.Data; }); For multiple accounts we would test against internally, which previously worked, we now receive a user with ID = 0, both in Unity Editor and on new and previous builds of the project where they once worked correctly. These accounts on Oculus PC have matching Oculus Quest accounts which do continue to work as intended. Has this been observed by others? The problem appears to have arose in the last few months.3.3KViews2likes1CommentUnreal bugs/errors with Rift/Go/Quest and their status
I've made a list of current bugs/errors encountered in Unreal when developing for Rift / Quest / Go. Some can be somewhat fixed / avoided, some are still very present. I encourage people to add to the list or bring their solution. Would be great also to have input from @NinjaGaijin and @Ross_Beef on their possible ETA or resolution. ;) This is up-to-date with latest Unreal (4.22.2) Oculus integration found on github, dating back from June 7. There it is: 1. Retrieve Oculus ID and Verify Entitlement fail on Go/Quest a. STATUS: can be fixed by changing a line in OculusIdentityCallbackProxy.cpp. See at the end of list for complete solution. b. Reference: https://developer.oculus.com/bugs/bug/2343978258981741/ 2. Entitlement fail on Quest if no access to Quest API a.STATUS: can be fixed by commenting out a line in OculusMobile_APL.xml. See at the end of list for complete solution. 3. PlayDynamicForceFeedback has errors when nativizing assets a. STATUS: can be fixed by changing \Engine\Source\Runtime\Engine\Classes\GameFramework\PlayerController.h line 1053 private to public, because 'PlayDynamicForceFeedback' is a private member of 'APlayerController', for reasons unknown b. Reference: https://answers.unrealengine.com/questions/831405/playdynamicforcefeedback-node-in-420-fails-to-cook.html ; 4. Oculus Go/Quest : No VOIP / or no LipSync with Oculus Avatars a. STATUS: NOT FIXED b. Reference: https://developer.oculus.com/bugs/bug/471102320355137/ ; c. Background infos: Android only allows access to the microphone from a single process. This wasn't an issue when networking avatars previously, as the mic input wasn't being used. But with the expressive update, we specifically need to run the mic through the OVRLipsync plugin to generate blend-shapes and drive the mouth shapes. Trying to hook up the mic to both VoIP and Lipsync therefore causes an inevitable race condition. The loser gets a bunch of zeros. So either there's no networked audio, or no blend-shapes. 5. Multiplayer Oculus Avatar is broken with official Oculus Avatar Plugin a. STATUS: NOT FIXED b. Use our in-house patched plugin/template, or use Photon Engine 6. Oculus Rift / S: Enabling Splash in Project Settings / Oculus Settings crash when loading next level a. STATUS: NOT FIXED b. Use blueprints to Set and Show Splash Screen 7. Stereo Layers are transluscent in ES3.1 (Oculus Go/Quest) / Vulkan (Oculus Quest) a. STATUS: NOT FIXED 8. Performance issues when a Render target is added to Spectator screen (VR) in a packaged game a. STATUS: FIXED IN 4.23 b. Reference: https://issues.unrealengine.com/issue/UE-70352 ; c. IN 4.22, don't use Spectator Screens, or use them only in editor: 9. Cannot access Oculus Quest platform features a. STATUS: You have to be greenlighted by Oculus before doing so or Oculus Business users will have access to Business Suite Q3-4 2019 10. When a stereo layer is present rendering a widget it cannot be destroyed. a. STATUS: NOT FIXED b. Reference: https://answers.unrealengine.com/questions/829084/stereo-layer-isnt-destroyed-on-end-play.html ; c. Avoid using stereo layers if you need to destroy them 11. Quest: Oculus Avatars and Oculus Audio use 32-bits Android libraries (armeabi-v7a); no arm64 librairies available a. STATUS: NOT FIXED b. Use 32-bits librairies on Quest if using Oculus Audio and/or Avatars3.6KViews2likes11CommentsAdding Custom URL Protocol for Oculus Rift game/app built using Unity
Hello All, Is there any way to register Custom URL Protocol (ex- myapp:// ) for an app being installed from Oculus Store so that app can be launched by clicking on that app's custom url ? Typically a PC installer can add registry entries since its run with elevated permissions. More info on Custom URL Protocol: https://blogs.msdn.microsoft.com/noahc/2006/10/19/register-a-custom-url-protocol-handler/ Thanks!769Views2likes1CommentDK2 not being recognised
I purchased a DK2 a while back, when they first became available. Due to other commitments I never got a chance to get started with it. Anyway, I'm now looking to start on a project. I can't seem to get either of the systems I've tried it on to recognise the DK2 though. Both systems pass the compatibility test okay. On both of them I get to the "Connect your rift headset" step in the wizard, and the Sensor USB is recognised okay, but Headset HDMI and Headset USB are both stuck spinning the searching circle. The headset is powered up and displaying the "continue setup on PC" message. On both systems the DK2 is plugged into an HDMI port on a GTX970, and USB 3 ports. Both systems are windows 10, 64 bit, fully patched (including the anniversary update). In device manage I have a "Rift DK2 Sensor" under "Oculus VR Devices". Under Other devices I have two unknown devices. It looks like a driver issue, but apart from the main oculus setup I can't see any individual driver downloads. Any suggestions?1.9KViews2likes6CommentsHow to get Oculus Rift/Rift S touch controllers battery level?
Hello, I urgently need to access to touch controllers battery level from Unity, i know it's available somewhere because we can see the battery level in the Oculus Software, but I tried several ways and no method works: 1) In Unity, use Oculus Utilities asset's OVRInput.GetControllerBatteryPercentRemaining() method: It returns 0 and the method's summary says "Retuns the battery percentage remaining for the specified controller. Values range from 0 to 100. Only applicable to controllers that report battery level, such as the GearVR Controller. Returns 0 for controllers that do not report battery level" so i concluded that Touch Controllers don't report battery level to OVRInput. This person has the same problem : https://forums.oculusvr.com/developer/discussion/69979/oculus-go-get-controller-battery-level and Oculus given no answer. 2) In Unity, use the OpenVR.System.GetFloatTrackedDeviceProperty() method as it's adviced here: https://answers.unity.com/questions/1478339/get-vive-oculus-touch-battery-status.html The method returns a TrackedProp_UnknownProperty error for each controller device id. 3) Search in Oculus SDK (https://developer.oculus.com/downloads/package/oculus-sdk-for-windows/) methods: There is no occurrence of "battery" word in the sdk folder and the ovrTrackingState::HandPoses and ovrInputState objects only provides position/orientation/velocity/accelerations/buttonPress informations. This person has the same problem (https://forums.oculusvr.com/developer/discussion/78140/get-controller-battery-level-for-oculus-rift-s-in-net) and Oculus given no answer. Anyone has found a solution for this problem? Software versions used: Unity 2019.2.7f2 Unity Oculus Utilities 1.31 and 1.40 Oculus SDK 1.401.2KViews1like0CommentsReal-time tracking of Oculus controllers
Hi all, We've just put together this tracker for the controllers that we've been using during our user testing sessions to see what is really happening (most of times users are pressing all sort of buttons and it's hard to figure it out). This can be embedded in OBS and streamed / recorded: https://www.youtube.com/watch?v=XCFC-PZKtic Would love to hear your thoughts / feedback! Pietro769Views1like0CommentsVR Touch Steering Wheel
So I wanna make a game with car controls just like this. Currently using the latest version of Oculus Rift. I'm so close to it but I can only code the joystick (of the left hand controller) to control the steering wheel, not the user's hands. The thought process behind the following code below is that: Detect collision between user's hand and steering wheel (Success). Detect if user is gripping hand (Success). Detect if one hand is higher than the other (Can detect positions of both hands and compare values of the y-axis coordinates). Animate steering wheel based on which hand is higher. For example if the right hand is higher, rotate steering wheel to the right, left hand higher = rotate steering wheel to the left. (Fail) [code=CSharp]using System.Collections; using System.Collections.Generic; using UnityEngine; public class Oculus_Steering : MonoBehaviour { public GameObject rightHand; public GameObject leftHand; float maxTurnAngle = 45f; // Detect Collision with Player void OnTriggerEnter (Collider other) { Debug.Log("hello"); Debug.Log("LEFT: "+OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger)+" and "+ Mathf.Abs(leftHand.transform.position.y)); Debug.Log("RIGHT: " + OVRInput.Get(OVRInput.Axis1D.SecondaryHandTrigger)+" and " + Mathf.Abs(rightHand.transform.position.y)); //when leftHand elevation is higher turn wheel to left if (Mathf.Abs(leftHand.transform.position.y) > Mathf.Abs(rightHand.transform.position.y)) { transform.localEulerAngles = Vector3.back * Mathf.Clamp(-97, -maxTurnAngle, maxTurnAngle); } else { //when rightHand elevation is higher turn wheel to right transform.localEulerAngles = Vector3.back * Mathf.Clamp(97, -maxTurnAngle, maxTurnAngle); } } void Update() { //for joystick; takes the horizontal input to determine if steering wheel should rotate left or right transform.localEulerAngles = Vector3.back * Mathf.Clamp((Input.GetAxis("Horizontal") * 100), -maxTurnAngle, maxTurnAngle); } } I'm fairly new to unity and coding so if you need any more information, please don't hesitate to ask! Thank you in advanced. P.S. I am currently using the latest version of Oculus Rift. I will provide the version of game engine, and a copy of the scene I am using in the comments below later in the morning. Edit: Using unity 2018.3.11f1 and the file is too large whoops.3KViews1like3CommentsI can't upload new binary to the channel, anyone has the same problem this weekend?
It stuck at processing while uploading the new binary to the channel, and I was keeping trying for several times this weekend, still doesn't work till now. Does anyone have the same problem? What possibly going wrong? I didn't encounter any error while running the project on my computer locally.1KViews1like1Comment