Non-Deprecated way to get Boundary edge geometry
I was looking through the developer documentation for using boundary data (https://developer.oculus.com/documentation/unity/unity-ovrboundary/) and I noticed that the method mentioned for getting the geometry of the boundary's edge is deprecated. boundary.GetGeometry(OVRBoundary.BoundaryType.OuterBoundary) Specifically, the BoundaryType.OuterBoundary enum is considered deprecated. I imagine this means there is a more updated way of getting this information but the page doesn't seem to mention it. Any assistance with this would be great!765Views0likes1CommentCenter to boundary center instead of HMD center
I need to make sure the center of the boundary is at the center of my scene, but if the player recenters their boundary then the entire thing shifts. Is there a way to make sure the center of the boundary is always at the center of my scene?623Views0likes1CommentMixed Reality app without boundary limit
Hi, we are building an MR/passthrough game meant to be played outdoors in large open areas. We found out that boundaries are limited to 10m by 10m which is hugely insufficient, as our game requires the players to move around a lot (easily in an area of a basketball or even a football field). We found out that we can disable the boundaries with the permission: <uses-feature android:name="com.oculus.feature.BOUNDARYLESS_APP" android:required="true" /> but when we try to publish the app, it gives an error: This APK includes experimental APIs (com.oculus.feature.BOUNDARYLESS_APP in AndroidManifest.xml).... APKs with experimental APIs cannot be pushed to public channels. how can we publish the game on Meta Quest store without the boundary limitation? PS: Arkio doesn't seem to have any boundaries so there must be a way. We are putting in place solutions to enable awareness of obstacles and hazards so it's not like we don't take safety seriously2.5KViews3likes3CommentsSeeking Solutions for Disabling the Guardian Boundary in MR Games on Quest 3
Hi everyone, We're currently developing a mixed-reality (MR) game for the Oculus Quest 3, which involves physical movement within a real-world space. To enhance immersion, we utilize the passthrough feature extensively and need to disable the Oculus Guardian boundary system. Currently, the only way we've found to disable the boundary requires players to activate Developer Mode on their accounts, which isn't ideal for general users. We're looking for alternatives that allow us to disable the Guardian boundary without requiring users to change their account settings. Additionally, our development process involves recording gameplay, for which the boundary needs to be enabled, but we would like to maintain passthrough vision. Is there a way to enable just the passthrough and disable the boundary for recording purposes? Has anyone here worked with similar settings or encountered these issues? Any advice or suggestions would be greatly appreciated. Thanks in advance for your help!Solved3.7KViews0likes4CommentsMeta All in One SDK v66 claims to allow us to disable the boundary in code
https://developer.oculus.com/downloads/package/meta-xr-core-sdk/ "66.0 - Release Notes What's New Boundary API The Boundary API enables developers to suppress the boundary visibility, allowing users to go beyond the Guardian Boundary. The feature is closely related to Passthrough: The boundary visibility can only be suppressed when a Passthrough layer is rendered." The official API docs only refer to v65. Has anyone managed to do this? If you have, would you be so kind as to tell me how please? I'm trying this private OVRManager ovrManager; ovrManager = FindObjectOfType<OVRManager>(); ovrManager.shouldBoundaryVisibilityBeSuppressed = true; but the boundary still appears.Solved1.8KViews2likes2CommentsOVRManager.boundary returns Null
Hi! I'm using Unity 2018.4.19f1 and the latest available Oculus integration package v17.0 and Oculus Android SDK v1.38.6. I've been trying to access the guardian boundary on my Oculus Quest in order to mark the outline, but haven't gotten it to work so far. So I've tried to identify the problem using Debug and found that both OVRManager.boundary.GetConfigured() and OVRManager.boundary.GetGeometry(OVRBoundary.BoundaryType.OuterBoundary); returns "NullReferenceException: Object reference not set to an instance of an object". In the end I ran Debug.Log(OVRManager.boundary) which simply returns Null, which explains the above NullReferenceException. So the question is why does this return Null, when I most definetly have set the guardian boundaries on the Quest? Has anyone had any similar issues? I've run Debug.Log from both Start and Awake, but got the same result regardless. I run the script from an empty GameObject, should I maybe be running it from somewhere else? The project itself is a new empty project, with the VRTK 3.3 SDK Manager setup for the OVRCameraRig and not much else, except for the controller alias objects and the VRTK simulator camera rig.1.7KViews0likes1Comment[QUEST] Freeze with use of lineRenderers
Hi everyone, I'm beginner on Unity development and oculus quest development. I would like to try to display different perimeters. Each perimeter is the same that the outer boundary and i apply it rotations. So, i reuse an oculus script I have modified. And, to display perirmeter, i reuse lineRenderer. Problem: with more than one lineRenderer, on the oculus Quest, the application freezes! Do you know why? Is LineRendrer so resource intensive? Thanks so much for help Here the code: public class GuardianBoundaryDisplayCustom : MonoBehaviour { // Depending on the demo manager only for reorient notifications. public GuardianBoundaryEnforcer m_enforcer; // So that we can easily render the rectangular play area and // the more exact outer bounds. public OVRBoundary.BoundaryType m_boundaryType; // Something to tell the user their guardian bounds aren't configured. // This isn't a solution a shipping app would use-- it's just because // the demo makes no sense without bounds. public GameObject m_errorDisplay; void Start() { m_enforcer.TrackingChanged += RefreshDisplay; RefreshDisplay(); } void RefreshDisplay() { bool configured = OVRManager.boundary.GetConfigured(); if (configured) { LineRenderer lr = GetComponent<LineRenderer>(); lr.positionCount = 0; // Note that these points are returned in (the newly reoriented) tracking space. // So rendering them correctly aligned with your guardian bounds in VR is // straightforward, and does not require additional transformations as long // as this is parented to the TrackingSpace node. Vector3[] boundaryPoints = OVRManager.boundary.GetGeometry(m_boundaryType); lr.positionCount = boundaryPoints.Length + 1; Vector3 v; for (int i = 0; i < boundaryPoints.Length; ++i) { v = boundaryPoints; v.y = 0.0f; lr.SetPosition(i, v); } v = boundaryPoints[0]; v.y = 0.0f; lr.SetPosition(boundaryPoints.Length, v); lr.startColor = Color.blue; lr.endColor = Color.blue; LineRenderer lr2 = Instantiate(lr); lr2.startColor = Color.red; lr2.endColor = Color.red; lr2.transform.Rotate(0.0f,180.0f,0.0f, Space.Self); LineRenderer lr3 = Instantiate(lr); lr3.startColor = Color.yellow; lr3.endColor = Color.yellow; lr3.transform.Rotate(0.0f, 180.0f, 0.0f, Space.Self); //TODO utiliser lr3.bounds.center pour décaler le périmètre } if (m_errorDisplay) { m_errorDisplay.SetActive(!configured); } } // Update is called once per frame void Update() { } }715Views0likes0Comments