Troubleshooting LoadSceneFromDevice() Issues in MRUK 65.0.0: Inconsistent Behavior with Quest Link a
I have noticed that the LoadSceneFromDevice() function in MRUK 65.0.0 does not work. However, strangely, it works when using the Synthetic Environment Server in the Meta XR Simulator. It only fails when running from the Unity Editor while the Quest is connected to the PC via Quest Link. However, if I check the "Load Scene On Startup" option in MRUK and execute LoadSceneFromDevice() from MRUK, it works. It only fails when I call LoadSceneFromDevice() from my script. These functions worked without any issues in MRUK 64.0.0. Why is this happening? I can't understand it.745Views0likes0CommentsUserAgeCategory Error
Two of our developers got a error in the "UserAgeCategory.Get().OnComplete" callback that just said "400". I can't find anything about what this error message could indicate. Doesn't seem to happen to me I think I'm the only one who "Owns" the game The other are invited to separate branches (not sure if that counts as owning, as it passes the entitlement check), so I'm wondering if this has something to do with developer accounts or something else?514Views0likes0CommentsLog in with the Meta user account using PCLink to use Shared Spatial Anchor
Hello, We are developing an app in Unity using the Meta SDK. So far, we have implemented Shared Spatial Anchors, and they work fine when we build the project for Android. We are now trying to build the app for Windows and connect a computer with a Meta Quest 3 device. However, we are unable to log in to the app with Meta. We attempt to log in with the Meta account in the app using the following code: Users.GetLoggedInUser().OnComplete(GetLoggedInUserCallback); We would like to know if it is possible to log in with the Meta user account using PCLink. If so, does it require any extra configuration? Thank you very much.1.1KViews0likes0CommentsError Ruined My Unity Project
I keep getting these two errors: 1. Multiple plugins with the same name 'ovrplugin' (found at 'Assets/Oculus/VR/Plugins/1.38.0/Win/OVRPlugin.dll' and 'Assets/Oculus/VR/Plugins/1.38.0/Win64/OVRPlugin.dll'). That means one or more plugins are set to be compatible with Editor. Only one plugin at the time can be used by Editor. OculusSampleFrameworkUtil:HandlePlayModeState(PlayModeStateChange) (at Assets/Oculus/SampleFramework/Editor/OculusSampleFrameworkUtil.cs:43) UnityEditor.EditorApplication:Internal_PlayModeStateChanged(PlayModeStateChange) 2. Multiple plugins with the same name 'ovrplugin' (found at 'Assets/Oculus/VR/Plugins/1.38.0/Win/OVRPlugin.dll' and 'Assets/Oculus/VR/Plugins/1.38.0/Win64/OVRPlugin.dll'). That means one or more plugins are set to be compatible with Editor. Only one plugin at the time can be used by Editor. Please somebody help me with this1.7KViews0likes2CommentsHow to extract/import/read the sensor Data from Oculus Rift S
Hello everyone, I am in a college project and we like to develop a VR experience in a Cabin of an Aircraft. Therefore we need to work with sensor Information. I searched very much but i could not find the right answers to my question. I would appreciate any kind of help or hint! So my question is: How can I import the sensor information in a programming tool like Matlab? Greetings, Preet905Views0likes1CommentOnTriggerEnter() not working in Oculus Go environment?
Hey guys, I really need help on this. I have tried so many forums to get an answer, and nobody has helped. I have five triggers set up in a scene to call an object to go to a starting position, to follow the player for a certain amount of time, then to move off to an end position. I also have triggers that trigger animations of three separate fish, which are supposed to jump over you. None of these work. I have it all set up correctly according to every forum I've searched. I have rigid bodies, mesh colliders, convex on, I made sure that everything is set up in the physics map to collide, etc. It still won't work. It won't even enter the OnTriggerEnter() function, as I even put in a visual debug code. Here is some example code of what I am doing: //fish controller public class FishController : MonoBehaviour { public Animator fishAnimator1; public Animator fishAnimator2; public Animator fishAnimator3; void Start() { fishAnimator1 = GetComponent<Animator>(); fishAnimator2 = GetComponent<Animator>(); fishAnimator3 = GetComponent<Animator>(); } public void TriggerFishAnimation(int i){ if(i == 1) { fishAnimator1.SetTrigger("FishAnimation"); } if(i == 2) { fishAnimator2.SetTrigger("Fish2Animation"); } if(i == 3) { fishAnimator3.SetTrigger("Fish3Animation"); } } } //Bird targets public class BirdTargets : MonoBehaviour { [SerializeField] AnimatedBird[] birds; [SerializeField] Transform startPosition1; [SerializeField] Transform startPosition2; [SerializeField] Transform playerFollow1; [SerializeField] Transform playerFollow2; [SerializeField] Transform endPosition1; [SerializeField] Transform endPosition2; void Awake() { } public void BirdsToStartPosition() { birds[0].SetDestination(startPosition1.position, 10f); birds[1].SetDestination(startPosition2.position, 10f); } public void BirdsToFollowPosition() { birds[0].SetDestination(playerFollow1.position, 0.1f); birds[1].SetDestination(playerFollow2.position, 0.1f); } public void BirdsToEndPosition() { birds[0].SetDestination(endPosition1.position, 0.05f); birds[1].SetDestination(endPosition2.position, 0.05f); } } //Animated Birds public class AnimatedBird : MonoBehaviour { [SerializeField] int targetNumber; [SerializeField] float smoothSpeed; DemoMovementRig rig; Vector3 targetPos; public Vector3 startingPos {get; private set;} // Start is called before the first frame update void Start() { rig = FindObjectOfType<DemoMovementRig>(); targetPos = this.transform.position; } // Update is called once per frame void Update() { FlyToTarget(); } void FlyToTarget() { transform.LookAt(targetPos); transform.position = Vector3.Lerp(transform.position, targetPos, smoothSpeed * Time.deltaTime); } public void SetSpeed(float f) { smoothSpeed = f; } public void SetDestination(Vector3 v) { targetPos = v; } public void SetDestination(Vector3 v, float s) { targetPos = v; smoothSpeed = s; } } //eventcontroller public class ZiplineEventsController : MonoBehaviour { AnimatedBird[] Birds; BirdTargets birdTargets; FishController fishController; void Awake(){ Birds = FindObjectsOfType<AnimatedBird>(); birdTargets = gameObject.GetComponent<BirdTargets>(); fishController = gameObject.GetComponent<FishController>(); } public void BirdEvents(string s) { if(s.Equals("start")) { birdTargets.BirdsToStartPosition(); } else if(s.Equals("follow")) { birdTargets.BirdsToFollowPosition(); } else if(s.Equals("end")) { birdTargets.BirdsToEndPosition(); } else { //used for visual debugging GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = new Vector3(-4.31f, 35.47f, 40.97f); cube.transform.localScale = new Vector3(5.0f, 5.0f, 5.0f); //Debug.LogError("Bird events broke."); } } public void TriggerFishAnim(int i){ fishController.TriggerFishAnimation(i); } } //demomovementrig public class DemoMovementRig : MonoBehaviour { public Transform startingPostion; public Transform endingPosition; ZiplineEventsController zipEvents; BirdTargets[] birdTargets; [SerializeField] float speedModifier; bool enableMovement = false; //following four functions all work void Awake() { zipEvents = GetComponent<ZiplineEventsController>(); } void Start() { enableMovement = false; this.transform.LookAt(endingPosition); } // Update is called once per frame void Update() { if(enableMovement) { TranslateCharacter(); } } //draws the line that the user follows void OnDrawGizmos() { Gizmos.color = Color.red; Gizmos.DrawLine(startingPostion.position, endingPosition.position); } //these do not work void OnTriggerEnter(Collider other) { if(other.gameObject.CompareTag("EndTrigger")) { ResetPosition(); } if(other.gameObject.CompareTag("BirdsStart")) { zipEvents.BirdEvents("follow"); } if(other.gameObject.CompareTag("BirdsStop")) { zipEvents.BirdEvents("end"); } if(other.gameObject.CompareTag("Fish1")) { zipEvents.TriggerFishAnim(1); } if(other.gameObject.CompareTag("Fish2")) { zipEvents.TriggerFishAnim(2); } if(other.gameObject.CompareTag("Fish3")) { zipEvents.TriggerFishAnim(3); } else { //used for visual debugging GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = new Vector3(-4.31f, 35.47f, 40.97f); cube.transform.localScale = new Vector3(5.0f, 5.0f, 5.0f); }//end of else } // end of on trigger enter public Vector3 GetBirdTargetPos(int i) { if (birdTargets != null) { return birdTargets.transform.position; } else { Debug.LogError("Position not correctly fetched"); return Vector3.zero; } } //other functions in class control buttons, which work but I did not include to save space } Please someone help me figure out why this code isn't working I've been staring at it for over two weeks2.1KViews0likes2Comments