Closed Sandstedt closed 1 month ago
@Sandstedt Have you got the Discover project to work with MRUK? I am trying to update it to be able to include the Depth API.
@carloposo No, this bug is totally unrelated to this repo. There is just no place to report bugs for MRUK, just thought this repo was maintained by Meta employees.
@Sandstedt thanks for bringing this up, we will forward this to the MRUK team.
There is a workaround at the moment, you would need to keep a copy of the package locally and modify it, if that can unblock you. Once you copy the package from Library/PackageCache to Packages you will want to modify the MRUK.cs file and add this check
if (childAnchors.Count == 0) { Debug.LogWarning( $"Room contains {room.Uuids.Length} anchors, but FetchAnchorsAsync couldn't find any of them! Skipping room"); continue; }
This will need to go at line 827 in v68 version of MRUK.
In private async Task<CreateSceneDataResults> CreateSceneDataFromDevice(OVRAnchor.FetchOptions fetchOptions)
function.
Right after this block of code
var room = roomAnchor.GetComponent<OVRAnchorContainer>(); var childAnchors = new List<OVRAnchor>(); await OVRAnchor.FetchAnchorsAsync(childAnchors, new OVRAnchor.FetchOptions { Uuids = room.Uuids });
I hope this unblocks you, we are working on a permanent fix for future releases.
There is a workaround at the moment, you would need to keep a copy of the package locally and modify it, if that can unblock you. Once you copy the package from Library/PackageCache to Packages you will want to modify the MRUK.cs file and add this check
if (childAnchors.Count == 0) { Debug.LogWarning( $"Room contains {room.Uuids.Length} anchors, but FetchAnchorsAsync couldn't find any of them! Skipping room"); continue; }
This will need to go at line 827 in v68 version of MRUK. In
private async Task<CreateSceneDataResults> CreateSceneDataFromDevice(OVRAnchor.FetchOptions fetchOptions)
function. Right after this block of codevar room = roomAnchor.GetComponent<OVRAnchorContainer>(); var childAnchors = new List<OVRAnchor>(); await OVRAnchor.FetchAnchorsAsync(childAnchors, new OVRAnchor.FetchOptions { Uuids = room.Uuids });
I hope this unblocks you, we are working on a permanent fix for future releases.
Thanks a lot! Will try this. Have already cloned the package for other bugs and missing features. Thanks for reporting this to the correct repo (and again sorry for posting it here, but might be useful for other that google for this exakt error).
Don't find the repo for com.meta.xr.mrutilitykit v67, so trying to raise the bug here and hope someone from Meta sees it (sorry).
MRUK.cs has some bug where sometimes when you have multiple rooms scanned on your headset, you will get back an empty "ghost" room with 0 anchors. This is not accounted for in MRUK.cs and makes the room not load at all after it throws an error further down in MRUKRooms.cs:
Wall anchor with UUID xxxxxxxxxxxx not found!
There is a complete writeup with problem and a temporary workaround written by me on the forums: https://communityforums.atmeta.com/t5/Unity-VR-Development/MRUK-Error-loading-Scene-Room-Layout/m-p/1230490/highlight/true#M25034