Stage tracking space in Link Mode
Hi I'm developing a PC VR app with the Oculus integration for Unity. In this app, the virtual space should should align to the physical space. - The documentation states that one should use the "stage tracking space" when creating apps like this to keep the view re-centering function from messing with the alignment. https://developer.oculus.com/documentation/unity/unity-ovrboundary/ - On the OVRManager, I've set "TrackingOriginType" to "Stage" and disabled the "AllowRecenter" option. In an Android build, it seems to have the effect which is described in the documentation. But in the Editor or in a Desktop build with the Quest2 in Link mode, the view/alignment still resets when re-centering manually or after the headset was taken off for a few seconds. - Are those options only supported on Android Quest builds or am I missing something? Would there be an alternative way to keep the virtual world aligned with the physical one?3.8KViews0likes3CommentsDelay in Passthrough Camera Feed Versus Virtual World in Unity with XR All-in-One Plugin
0 I am developing a mixed reality application in Unity using the XR All-in-One plugin from the Unity Store with a target device being the Quest 3. I've successfully integrated the RigCamera, Hands, and Controllers tracking, as well as enabled passthrough using BuildingBlocks. However, I'm experiencing a noticeable delay in the passthrough feed from the real world — about half a second — while the virtual world interactions remain at full speed, causing a mismatch between the two. Steps I've taken so far: Ensured all configurations in 'Project Settings -> Meta XR' are correct. Updated the project settings for Android build. Tested with Unity version 2022.3.20f1 LTS, as recommended by Meta. Enabled passthrough in the Oculus properties app I've also recorded a video demonstrating the issue. You can see how the virtual hands or/and controller react immediately when I move in the real world. However, the passthrough is really slow, causing this mismatch I have been talking about. Does anyone know how to synchronize the passthrough feed with the virtual world and eliminate this delay? Any advice or insights would be greatly appreciated as I am really lost where the problem is coming from.1.6KViews2likes3CommentsUnity Oculus: Avatars disappear/ grabbing doesn't work when the HMD is unmounted and then mounted
The detailed situation is as follows. When I put on the HMD and start the app, I don't have any problems at first; it plays fine until I remove the HMD. If you remove the HMD during the app , wait a moment, and then put it back on, the controller and hand functionality doesn't work properly. My app has some objects with grabbing facility, it doesn't grabs properly after remounting again (works properly the first time).481Views0likes0CommentsIssue with Meta SDK Position Tracking Preventing Camera Rig in a car model
Hello everyone, I'm currently working on a Unity project using the Meta SDK, and I've encountered a challenging issue that I hope some of you might be able to help me with. Here are the details of the problem: When I enable "Using position tracking" in the tracking settings, my Camera Rig is unable to enter the interior of a vehicle model. Despite this, hand tracking remains functional, and I can see the virtual hand models interacting as expected. Conversely, if I disable "Using position tracking," the Camera Rig can enter the vehicle model without any issues. However, this configuration disables hand tracking, and I can no longer see or use the virtual hands. This issue is causing a significant roadblock in my development process, and I'm unsure how to resolve the conflicting needs of position tracking and Camera Rig accessibility within the vehicle model. My unity version is 2022.3.28f1,meta sdk version is 64.0.0 I am looking for advice on how to manage both position tracking and Camera Rig movement effectively, or if there's a known workaround for this issue. Any insights or suggestions would be greatly appreciated. Thank you in advance for your help! Best regards, zhun673Views0likes0CommentsControllers not tracking in Quest build.
Hey, We have recently started a new Quest project using Unity 2022.3.1 and Oculus Integration 54.1, but the controllers aren't tracking in builds. They track perfectly fine in the OS menus and in other apps both previously made by us and not, but in any new projects we make they just stay on the ground. Weirdly the buttons animate in response to input as expected, just connected to motionless controller models. To make sure none of our stuff was interfering with it, we created a new project following the project setup described in the Oculus documentation here, then added the provided OVRControllerPrefab as a child of both Hand Anchors but still had the same issue. Does anyone have any idea why this is happening? Thanks!3.2KViews3likes5CommentsTurning off HMD tracking (all 6 DoF)
Hello there, is there any way that I can turn off the all the degree of freedoms? I mean, I want to use Oculus SDK or Unity XR Interaction Toolkit to cast something from a Unity scene and do not want it to rotate or move either. I want to turn off HMD tracking completely. Is there any way that I can achieve this? Thanks...612Views0likes0CommentsHand placement wrong in build using Oculus Plug-in Provider
I have also tried making a basic project from scratch and the problem still occurs. If I use OpenXR as the plugin provider the hand placement is perfect, but as soon as I switch to Oculus the hands appear significantly lower then they should. Unfortunately my project doesn't work with OpenXR as the provider and there are various options with the Oculus provider that I require anyway. He's my repro steps for a plain sample project that shows the problem. Broken version: New 3D Unity project in Unity 2022.3.10 (also occurrs in 2022.3.17) Switch platform to Android Open Package Manager and install XR Interaction Toolkit Confirm yes to enabling the backends when prompted Install XR Plugin Management, OpenXR Plugin and Oculus XR Plugin in Package Manager Import Starter Assets sample from XR Interaction Toolkit package Open scene Assets/Samples/XR Interaction Toolkit/2.5.2/Starter Assets/DemoScene In Project Settings/XR Plug-in Management, set Oculus as Plug-in Provider Build & Run. Notice controller position is far lower than expected. Fixed version: Switch Plug-in Provider to OpenXR under Project Settings/XR Plug-in Management/OpenXR/Interaction Profiles add "Meta Quest Touch Pro Controller Profile" and "Oculus Touch Controller Profile" Under OpenXR Feature Groups enable Meta Quest Support Project Settings/XR Plug-in Management/Project Validation click Fix All Build & Run. Controllers now appear in correct position665Views0likes0CommentsLaunch app with tracking disabled.
Hi there, can a UnityXR app launch while headset tracking is disabled? One of our clients wants to use their Quest 1 headsets on ships for training purposes. Due to the ship's movement, the headset loses tracking frequently, leading them to disable tracking entirely. Our app doesn't require 6DoF, but it fails to launch if headset tracking is off. I've examined the YouTube app's manifest file, as it can launch with tracking disabled, and attempted to replicate its settings in our app's manifest. However, our app still won't launch when tracking is off. Is there a way to launch a UnityXR app with tracking disabled? Unity 2021.3.25 Oculus XR Plugin 3.3.0 (latest that supports Quest 1) Thanks.872Views0likes1CommentProblem: Position constraints of an object with HandTracking (using "OneGrabTranslateTransformer")
(Message a little long to try to explain as well as possible, don't panic, the problem comes down to the question ^^) I also want to say that if you have another solution to this problem, that is to say another method than mine, I'm interested too. The most important thing is that I can implement what I want. Not necessarily the way I imagine it! Thanks in advance for your answers. Hello, In a VR application, where the player uses HandTracking. I want to make him take an object in a bag (The bag is hung on a wall to avoid complicating the problem, and it can't be grabbed). Of course, I don't want the object to go through the bag, so I want to force the player to remove the object from the bottom. For this, I used the script "One Grab Translate Transformer", which allowed me to get the result. I then added a Cube with a box collider, and the option "Is Trigger" checked, to trigger an event when the object comes in contact with it. Here, the event resets the values of "One Grab Translate Transformer" to 0. To disable the constraints. And it works! But unfortunately there is a problem. Of course, after this event, I can move my object in space on the X, Y and Z axes. But my object does not rotate anymore! Why not? Here is a video of the problem : https://youtu.be/U9RYa2u8lsQ In this video (https://www.youtube.com/watch?v=PU8SQ2Obviw), I saw that using a "Box Collider" can prevent objects from passing through other objects. But this doesn't seem to apply to hand-held objects. But I'm probably wrong, so maybe there is a simpler solution on this side. ---- Here is a last video using the objects from the official Oculus example scene, and showing what I want to avoid with a box. Since in the end, my problem can be applied to any box, in any situation: https://youtu.be/WxSXLrMELXw ---- Finally, here is the code: For the "OneGrabTranslateTransformer" script, I didn't change anything, except adding getters and setters to the constraints: public class OneGrabTranslateTransformer : MonoBehaviour, ITransformer { [Serializable] public class OneGrabTranslateConstraints { public bool constraintsAreRelative; public FloatConstraint minX; public FloatConstraint maxX; public FloatConstraint minY; public FloatConstraint maxY; public FloatConstraint minZ; public FloatConstraint maxZ; public bool ConstraintsAreRelative { get => constraintsAreRelative; set => constraintsAreRelative = value; } public FloatConstraint MinX { get => minX; set => minX = value; } public FloatConstraint MaxX { get => maxX; set => maxX = value; } public FloatConstraint MinY { get => minY; set => minY = value; } public FloatConstraint MaxY { get => maxY; set => maxY = value; } public FloatConstraint MinZ { get => minZ; set => minZ = value; } public FloatConstraint MaxZ { get => maxZ; set => maxZ = value; } } … ---------------- For the "FloatConstraint" script, I added a "resetValue()" function that allows to reset the constraint values to 0: namespace Oculus.Interaction { [Serializable] public class FloatConstraint { public bool Constrain = false; public float Value = 0.0f; public void resetValue() { this.Constrain = false; this.Value = 0.0f; } } } --------------- In the Trigger cube script, I simply used the "OnTriggerEnter" function, checking the object tag to avoid triggering the script anyhow: public class EnterTriggerCagoule : MonoBehaviour { public DisableConstraint disable; public string tag = ""; private void OnTriggerEnter(Collider other) { if (other.CompareTag(tag)) { disable.disableConstraint(); } } } ----------------- Finally, this is what my disableConstraint() function looks like: public void disableConstraint() { constraints.MinX.resetValue(); constraints.MaxX.resetValue(); constraints.MinY.resetValue(); constraints.MaxY.resetValue(); constraints.MinZ.resetValue(); constraints.MaxZ.resetValue(); } As you can see, my scripts are not very complicated, and I NEVER touch the rotation values, and I never apply constraints to them. So I am surprised by the problem. Hopefully someone can help me. Sincerely, Xameal.1.4KViews1like0CommentsAfter Quest 2 HMD goes to sleep while running my app, scene is offset when HMD awakes
My application is built using Unity 2020.3.36 and Oculus XR plugin 1.12.0 When my app is running if remove the HMD and the HMD goes to sleep, when I put the HMD back on the HMD wakes up and the app resumes, but the camera view is offset from where it was when I took the HMD off. There is no way to correct this without restarting the device. Is there a setting in the OVRCameraRig or some api for forcing my rig to update to new tracking coordinates when it it resumes? What else could be the cause of this?1.5KViews1like1Comment