Spatial Anchor Sharing using router without internet
Hello, I am currently working on a MR app using Unreal Engine 5.3.2 and we have successfully implemented spatial anchor sharing within our app for local multiplayer on an internet connection. However, for security reasons, we need our app to work without internet connection. But after many tests, we have realized that the spatial anchor sharing does not work on a router that is not connected to the internet. Spatial anchor sharing most probably uses Oculus cloud services to save the spatial anchors to be shared on the cloud. Using routers without internet is a crucial aspect of our app. Each headset connects to the router and within the app, we are still able to create and join multiplayer sessions using LAN. The fact that the spatial anchor sharing does not work in these conditions is a huge blocker for us. Do I have that right? Is there a way to bypass this requirement? If not, what can be done? Thank you in advance for the help!2.7KViews4likes6CommentsSpatial Anchor and SceneModel/Actors persistency
Hello! I've recently begun my first journey into Spatial Anchors on Unreal Engine but found myself with a bunch of questions that I thought someone out here might know since it's not really explicitly mentioned on these page: - https://developer.oculus.com/documentation/unreal/unreal-spatial-anchors/ - https://developer.oculus.com/documentation/unreal/unreal-scene-overview/ Here are some of my questions: - Is there a way to completely clear the headset's local storage of all Spatial Anchors without having to query and run an erase on each of them nor resetting the Guardian? - It seems like Scene Actors are basically making use of SpatialAnchors as well (They are querying with a filter like RoomLayout, ScenePlane and SceneVolume). If there exists a method to wipe (from above question), would it also wipe out the Scene Model data that was set up by the user? Or is that actually a way to erase all other SpatialAnchors except for those in the Scene? - Is the number limit of Spatial Anchors that can be persisted to the headset's local storage based on a fixed number or is the space shared with other things like the localization map? Is there a way in Unreal to know if that space is reaching the limit so we can prompt the user to free up some space? Thanks.1.8KViews2likes0CommentsSpatial Anchor example scene broken
I've just updated the unity integration package v35 and decided to try out the new feature - spatial anchor. However, the Spatial Anchors Sample App doesn't seem to work. When in "Create mode" and pressing "A", nothing happens! There's also a script missing on the Canvas GO (CameraRig/RHandAnchor/rControllerAnchor/Menu Object/Canvas).Solved3.9KViews1like7CommentsDiscovered anchors are placed at (0,0,0)
Hi there, I'm trying to use MetaXR anchors for my current project. I previously used Unreal 5.1 with PCVR and I could create, save and reload anchors. I am now trying to do the same in an Unreal 5.4 standalone project. My problem is that when I save the anchor, and I reload it with its UUID, it spawns at (0,0,0). Using the logcat from Android Studio, I found out that there were two errors, one pretty seamingless : SP:AF:AnchorFramework: getAnchorUuid can't find anchor for handle 4 And the second one, which I think is the real problem : [XRCMD][failure] [XR_ERROR_SPACE_COMPONENT_NOT_ENABLED_FB]: xrLocateSpace(*(XrSpace*)space, baseSpace, ToXrTime(GetTimeInSeconds()), &spaceLocation), arvr\projects\integrations\OVRPlugin\Src\Util\CompositorOpenXR.cpp:13440 (arvr\\projects\\integrations\\OVRPlugin\\Src\Util/CompositorOpenXR.h:317 My blueprint is ugly right now, but here is how I discover and save anchors :Solved1.3KViews1like2CommentsOpenXR Spatial Anchors don't provide valid pose when sleeping then waking
I'm not sure exactly what update caused this, but it's within the last few months. The spatial anchors for my project stop getting valid poses when our Quest 3s either sleeps on their own or the power button is pressed. On wakeup, the positions and orientations don't line up where expected (it's as if we had a recenter event) and the XrSpaceLocationFlags bits are all false For example: XrSpaceLocation persistedAnchorLoc = {XR_TYPE_SPACE_LOCATION}; XrResult res = xrLocateSpace(anchor.space, m_space, predictedDisplayTime, &persistedAnchorLoc); if (res == XR_SUCCESS) { XrSpaceLocationFlags flags = persistedAnchorLoc.locationFlags; bool valid = (flags & XR_SPACE_LOCATION_ORIENTATION_VALID_BIT) != 0 && (flags & XR_SPACE_LOCATION_POSITION_VALID_BIT) != 0; bool tracked = (flags & XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT) != 0 && (flags & XR_SPACE_LOCATION_POSITION_TRACKED_BIT) != 0; bool anchorIsValid = valid && tracked; // These are both always false upon wakeup // persistedAnchorLoc.pose also appears to be incorrect // ... } I have found, however, if I add a new anchor after wakeup the old anchors start getting valid poses again. It's definitely a timing issue though too. I can't immediately generate a new anchor (the frame during the wakeup) so I end up with a really ugly hack that waits some time before generating a temporary anchor to fix the current anchors. I have tried the official samples and I found the same behavior. I could add anchors in the XrSpatialAnchor sample, sleep the headset, wakeup and find they are all missing. When I add a new anchor, all the previous anchors appear again. I'm not sure if it's relevant or not, but I do have Developer -> Boundary disabled. This is a requirement for our application since the guardian area can't grow large enough. This is all used in-house, so it's not a problem for our users.1.6KViews1like1CommentUnreal Shared Spatial Anchor Sample
My team and I have been struggling to get this sample working. We have packagedthe project for the store and submitted a data use checkup so we have access to UserID and cloud storage. We have also downloaded our packaged build from the AppLab and are still not able to share anchors between 2 Quest Pro devices running on the same local network. We're getting the following message in the device log: 13:10:22.826 OVRPlugin [CreateSpaceUser] called for spaceUserId 0 13:10:22.826 Telemetry [OpenXR_Anchor] userId cannot be 0; 13:10:22.826 OVRPlugin [XRCMD][failure] [XR_ERROR_VALIDATION_FAILURE]: xrCreateSpaceUserFB(m_xrSession, &info, (XrSpaceUserFB*)spaceUser), arvr/projects/integrations/OVRPlugin/Src/Util/CompositorOpenXR.cpp:11830 (arvr/projects/integrations/OVRPlugin/Src\Util/CompositorOpenXR.h:328) Are we missing something that is not stated in the documentation?Solved2.6KViews1like1CommentSpatial Anchor creation over link fails with Result.Failure_Unsupported
I create an Unity GameObject and then add the OVRSpatialAnchor component. When it calls CreateSpatialAnchor in its Start method, it always fails when on Oculus Link (works fine if I make an Android build) Digging into this, it is this call in OVRPlugin that fails with Result.Failure_Unsupported: OVRP_1_72_0.ovrp_CreateSpatialAnchor Are there any suggestions on what could be going wrong - this error message isn't the most helpful and I can't find documentation online about it. N.B. I've managed to get the example spatial anchors project (https://github.com/oculus-samples/Unity-SharedSpatialAnchors) working perfectly over link and creating anchors successfully with the same machine & headset so the problem must be something to do with my project's unity configuration. I can't for the life of me find the difference between the example project and my project though - OVRManager settings look identical.2.9KViews1like4CommentsUnable to save spatial anchors to cloud
Trying to share spatial anchors to other local players. The anchor is created without problem and getting a Uuid. Can save the anchor locally without problem. But changing to StorageLocation.Cloud results in error. saveOptions.Storage = OVRSpace.StorageLocation.Cloud; oVRSpatialAnchor.Save(saveOptions, (anchor, success) => { Debug.Log($"WaitForAnchorInit save cloud success={success}"); }); Always results in success=false with a "Save failed" in log - no other info. Activated "Share point cloud data" under "Device Permissions" in Settings on HMD without any success.Solved4.2KViews1like3Comments