How to show hands while using controller input to grab objects (Meta All-in-One SDK)
Hi, I'm currently developing a VR experience using Unity (2022.3.62f1) and the Meta All-in-One SDK(ver. 78.0), where users are physically holding controllers, but hands are shown instead of controllers — so that interactions appear to be done with hands, even though the input is coming from the controllers. To support this, I've enabled controllerDrivenHandPosesType so that the virtual hands animate based on controller input. Additionally, I configured the controllerButtonUsage property of the GripButtonSelector inside the ControllerGrabInteractor (under [BuildingBlock] OVRInteractionComprehensive > Left/Right Interactions) to use the Primary Button, allowing users to grab objects via button press. However, in this setup, the interaction still seems to be treated as hand-tracking-based. As a result, the HandGrabInteractable component (set via [BuildingBlock] HandGrabInstallationRoutine) follows the Pinch Grab Rules — so the user must still pinch specific fingers to grab an object, even though they're using controller input. What I’m trying to achieve: Show hands instead of controllers Allow grabbing with a controller button (e.g., Primary Button) Disable or bypass pinch gesture requirements My Question: Is there a supported way to simulate hand-based interactions visually, but use controller buttons to grab, without requiring pinch gestures? If there’s a recommended approach, workaround, or best practice to achieve this using the Meta All-in-One SDK, I would greatly appreciate any guidance. Thanks in advance!48Views0likes1CommentIntermittent xrGetEyeGazesFB Initialization Failure in Unity (Quest Pro via Air Link)
I'm developing Meta Quest Pro on unity by connecting it pc via airlink I occasionally get this error (roughly 1 out of every 5 runs): [OVRPlugin] [XRCMD][failure] [XR_ERROR_INITIALIZATION_FAILED]: xrGetEyeGazesFB(m_xrEyeTracker, &eyeGazesInfo, &eyeGazes), arvr\projects\integrations\OVRPlugin\Src\Util\CompositorOpenXR.cpp:10663 (arvr\projects\integrations\OVRPlugin\Src\Util/CompositorOpenXR.h:364) UnityEngine.Debug:LogWarning (object) OVRManager:OVRPluginLogCallback (OVRPlugin/LogLevel,intptr,int) (at./Library/PackageCache/com.meta.xr.sdk.core@78.0.0/Scripts/OVRManager.cs:2162) using Meta XR All-in-One SDK v78 with Unity 2022.3.67f2. XR Plugin Management is checked OpenXR Project Setup Tool reports no issues. In OVR Manager Eye Tracking Support and Permission Requests on Startup > Eye Tracking are checked. I simply added the Eye Gaze Building Block and call OVRPlugin.GetEyeGazesState() to read data. The system works most of the time, but sometimes initialization fails and logs the warning above. Has anyone else seen this intermittent initialization failure, is there a recommended fix or workaround?63Views0likes1CommentRetargeting Configuration Editor no longer works
Following the directions for Body Tracking for Movement SDK, everything works fine until you get to this section: https://developers.meta.com/horizon/documentation/unity/move-body-tracking/#import-a-character I am using a MakeHuman character with a game engine rig (basic rig) These seem to be correct from videos/documentation. The next screen, none of the preview sequences work As well, there are several errors that happen when the mouse moves across the 3D model view Errors: 1. IndexOutOfRangeException: Index -1 is out of range of '195' Length. Unity.Collections.NativeArray`1[T].FailOutOfRangeError (System.Int32 index) (at <7b8172fcdd864e17924794813da71712>:0) Meta.XR.Movement.Retargeting.SkeletonRetargeter.Update (Unity.Collections.NativeArray`1[T] sourcePose, System.String manifestation) (at ./Library/PackageCache/com.meta.xr.sdk.movement@b0553630bc45/Runtime/Native/Scripts/Retargeting/SkeletonRetargeter.cs:405) Meta.XR.Movement.Retargeting.CharacterRetargeter.CalculatePose (Unity.Collections.NativeArray`1[T] sourcePose) (at ./Library/PackageCache/com.meta.xr.sdk.movement@b0553630bc45/Runtime/Native/Scripts/Retargeting/CharacterRetargeter.cs:292) Meta.XR.Movement.Editor.MSDKUtilityEditorPreviewer.DrawPreviewCharacter () (at ./Library/PackageCache/com.meta.xr.sdk.movement@b0553630bc45/Editor/Native/Scripts/MSDKUtilityEditorPreviewer.cs:217) Meta.XR.Movement.Editor.MSDKUtilityEditorWindow.UpdateSkeletonDraws () (at ./Library/PackageCache/com.meta.xr.sdk.movement@b0553630bc45/Editor/Native/Scripts/MSDKUtilityEditorWindow.cs:1248) Meta.XR.Movement.Editor.MSDKUtilityEditorWindow.OnSceneGUI (UnityEditor.SceneView sceneView) (at ./Library/PackageCache/com.meta.xr.sdk.movement@b0553630bc45/Editor/Native/Scripts/MSDKUtilityEditorWindow.cs:517) UnityEditor.SceneView.CallOnSceneGUI () (at <8081513dc2364383b8289d30d2169b2e>:0) UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at <8081513dc2364383b8289d30d2169b2e>:0) UnityEditor.SceneView.DoOnGUI () (at <8081513dc2364383b8289d30d2169b2e>:0) UnityEditor.SceneView.OnSceneGUI () (at <8081513dc2364383b8289d30d2169b2e>:0) UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) Rethrow as ImmediateModeException UnityEngine.UIElements.UIR.RenderTreeManager.RenderSingleTree (UnityEngine.UIElements.UIR.RenderTree renderTree, UnityEngine.RenderTexture nestedTreeRT, UnityEngine.RectInt nestedTreeViewport) (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.UIR.RenderTreeManager.RenderRootTree () (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.UIRRepaintUpdater.Render () (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.BaseVisualElementPanel.Render () (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.Panel.Render () (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <58affde3b6cc47f39fa7e8b94d5890c0>:0) UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <9fed903c750c40ad88e137acb27455b3>:0) 2. GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) These errors persist after closing the configuration editor. Thank you for reading and for all of these components and hard work put into making a great developer experience!Solved34Views0likes1CommentQR code tracking problems, object doesn't spawn at scanned qr code everytime.
I am trying to create an app with qr code tracking, at first it went perfectly well, just for the first time only, object was spawned at qr code object where I wanted. But the second, third and next time and on and on. Whenever I scan qr code, the object keep be spawned at different places. I keep changing places where I start my app, at first I thought that was the reason for this problem, but even if I go back to the same place that it was spawned at the right place, this time the object was spawned where I didn't want instead. I have enabled Anchor Support Scene Support Experimental features Permission Requests On Startup >> Scene QR Code tracking , which are required for QR code tracking function. So I really don't know why this keep happening. I have tried "save my perference" and "not save my perference" for spatial data request when the app is starting. And the results are the same. I have no more idea to try. Please help me, Thank you.82Views0likes5Comments