Mixed Reality Utility Kit: Build spatially-aware apps with Meta XR SDK

Welcome back XR developers! In today’s video we will look at yet another recently released development tool by Meta, namely the Meta MR Utility Kit, or MRUK for short!
MRUK now provides us with Scene Queries such as ray casts, valid spawn points and bounding boxes, with graphical helpers such as rendering walls, replacing physical objects with virtual ones and providing room boundaries, and also provide us with development tools such as the scene debugger, which we will look at in detail, as well as a selection of 30 prefab rooms for testing our application to make sure our app works in a variety of spaces different to our own physical one!
Resources:
🔗 Mixed Reality Utility Kit Documentation: developer.oculus.com/document...
🔗 Mixed Reality Utility Kit Download: developer.oculus.com/download...
🔗 MRUK Methods: developer.oculus.com/document...
Other Videos:
📹 Meta’s Building Blocks | Develop Mixed Reality Apps lightning fast: • Meta’s Building Blocks...
📹 Create Believable Haptic Feedback with Meta’s Haptics Studio & Haptics SDK: • Create Believable Hapt...
📹 Get Started with Meta Quest Development in Unity: • Get Started with Meta ...
📹 Meta Hand Tracking Pointer & Pinch: • Meta OVR Hands | Point...
Join the Discord!
👾 / discord
Support the Channel:
🫂 Patreon: / blackwhalestudio
🐦 Twitter: / xrdevrob
Need professional XR & Multiplayer development for your project?
👨‍💻 Get in touch with us: bento.me/blackwhale
Chapters:
0:00 Intro
0:56 MRUK Requirements
1:35 Meta XR SDK & MRUK Installation
2:25 Project Setup
2:57 MRUK component (!)
6:52 EffectMesh component
7:38 RoomGuardian component
8:34 Scene Debugger component
9:28 Code examples & available methods
10:59 FindSpawnPositions component
12:24 AnchorPrefabSpawner component (turn your room into a virtual room!)
13:25 Outro

Пікірлер: 47

  • @haraldgundersen7303
    @haraldgundersen73037 ай бұрын

    Great stuff... Very nice video...👍

  • @blackwhalestudio

    @blackwhalestudio

    7 ай бұрын

    Thanks Harald, glad you enjoyed it!

  • @eBautistaBau
    @eBautistaBau5 ай бұрын

    Hi Robi, thanks for your tutorials, are very useful. Excuse me, I am having issues when I overload 3D models using MRUK, it looks like the 3D models are moving slowly to the left and the front compare to the position of the blocks of the physical space (Passthrough), did you have similar issue?

  • @ArtBySabin
    @ArtBySabin6 ай бұрын

    Great video, thanks for posting this! Btw, does this work over Link, or only on Quest builds?

  • @blackwhalestudio

    @blackwhalestudio

    6 ай бұрын

    It does work over link as shown in the video

  • @kankan3555
    @kankan35553 ай бұрын

    Hi, I can only see the black shadow of the prefab room model when I hit play in the unity. I cannot find out why

  • @dominikstarzyk6678
    @dominikstarzyk66786 ай бұрын

    Hi! Great stuff, but I wonder can you help me out - I've set up oculus quest 3 and it works with regular vr app in unity (some random projects and templates) it cannot run with merge reality based project. All I'm getting while pressing play on unity is that oculus flickers to black for a second and goes back to unity editor view, but with game triggered on playmode. Do you know what can coused this error? I've tried everything; resetting, updating dependencies, enabling options etc but problem still persists like passthrough just couldnt start. Any help much apprieciated!

  • @ikarosound2504
    @ikarosound25047 сағат бұрын

    how do you make it working when are you wearing the headset? if I press play on unity the project not run on the VR headset, but all other VR projects working fine

  • @JoseLuisGutierrezHerrera
    @JoseLuisGutierrezHerrera7 ай бұрын

    Great video! Do you think it's possible to use this with open xr since you mentioned ovr manager is not needed?

  • @blackwhalestudio

    @blackwhalestudio

    7 ай бұрын

    That's a really good question, but I would have to test that to give you a clear answer. In the editor that could work but to deploy and play the app on your device you need to support anchors, scene support and passthrough on your OVR Manager, so at least the OVR Manager is still needed. Would be curious to know the exact answer if you ever get to test it out!

  • @vikneshkamal
    @vikneshkamal7 ай бұрын

    Great Video ! Can I use this with Depth API?. I just wanted to find the floor and place an object with Depth API enabled.

  • @blackwhalestudio

    @blackwhalestudio

    7 ай бұрын

    Yes, that should still work!

  • @looo000
    @looo0002 ай бұрын

    Hi, does this work in quest 2 as well?

  • @FlorianBuchholz1
    @FlorianBuchholz16 ай бұрын

    Thank you for the detailed video and for mentioning it in another post of me. I am currently trying to figure out a problem I have, when I try to load a premade room of my quest 3 in Unity at runtime. All the objects are loaded correctly (walls, table etc.) and they have the right size, but they are all placed at (0,0,0). Do you have any idea how to fix that or which box I have to check for that? As a build and run in works fine. I am also getting this warning, which might have something to do with it: [OVRPlugin] [XRCMD][failure] [XR_ERROR_HANDLE_INVALID]: xrLocateSpace(*(XrSpace*)space, baseSpace, ToXrTime(GetTimeInSeconds()), &spaceLocation), arvr\projects\integrations\OVRPlugin\Src\Util\CompositorOpenXR.cpp:11831

  • @FlorianBuchholz1

    @FlorianBuchholz1

    6 ай бұрын

    I found the solution: Uninstall the Vive Business Streaming software. If you have that error, I bet you have that installed. Have a nice day!

  • @AvivXR
    @AvivXR6 ай бұрын

    Thanks a lot. Great tutorial! Any reasoon why I get my room scene on PC but when I build the project I get a random room or none at all? (the physical room is already setup on my Quest)

  • @blackwhalestudio

    @blackwhalestudio

    6 ай бұрын

    Did you make sure that on your MRUK component under "Scene Settings" for "Data Source" you selected either "Device" or "Device with Prefab Fallback"? Try both and please let me know if that worked!

  • @AvivXR

    @AvivXR

    6 ай бұрын

    @@blackwhalestudio Thanks. Found the issue. In the OVRCameraRig Scene Support is disabled by default

  • @qualar
    @qualar6 ай бұрын

    When I run the MRUKBase the scene is just jerky and unusable on the Quest 3 when run in Editor. If i compile and deploy to device it works fine. Anyone know how to get it working in the Editor. Passthrough via link is enabled and i can see the app working it just doesn't run correctly.

  • @corriedotdev

    @corriedotdev

    5 ай бұрын

    Reboot unity

  • @IlanPerez
    @IlanPerez4 ай бұрын

    In other tutorials they state to use a Navmesh to determine where to spawn items. The example scene doesn't seem to use them. In an Quest 3, with Unity MR Application do I require a navmesh?

  • @blackwhalestudio

    @blackwhalestudio

    4 ай бұрын

    You do not require navmesh for spawning items at all!

  • @antonolivaresjuanjose2992
    @antonolivaresjuanjose29927 ай бұрын

    I get the following error: The type or namespace name 'InvSqrt2' does not exist in the namespace 'Utilities' (are you missing an assembly reference?), any solution?

  • @blackwhalestudio

    @blackwhalestudio

    7 ай бұрын

    does it appear after importing the Virtual Room sample? unfortunately that's an error from the package! i recommend to just double click on the error which opens the script. then just comment out these few lines of code. your scene will still work!

  • @antonolivaresjuanjose2992

    @antonolivaresjuanjose2992

    7 ай бұрын

    Thank you very much, I will do that and I hope the scene works correctly.

  • @neurogoblin

    @neurogoblin

    4 ай бұрын

    You can also replace that Utilities.InvSqrt2 with "1 / Mathf.Sqrt(2)"

  • @childhoodintense8172
    @childhoodintense817210 күн бұрын

    Hi, thank you for this nice video. I have a question: I would like to do my bachelors thesis about XR room scanning with the Meta XR SDK. What i want to do is, creating 3-4 rooms, with different amount of VR Objects. E.G room 1 = Passthrough on, room 2 = passthrough on + lot of additional VR objects and room 3 = a completely virtual rebuilt room. Is it possible to switch between those rooms/scenes in only one application? So I want basically research: XR vs VR and how much VR is really wanted from the user. Is this possible ? TY in advance

  • @blackwhalestudio

    @blackwhalestudio

    6 күн бұрын

    yes you can do that with MRUK

  • @childhoodintense8172

    @childhoodintense8172

    6 күн бұрын

    @@blackwhalestudio Ty for ur answer :)

  • @aureliopuertamartin3631
    @aureliopuertamartin36315 ай бұрын

    Is it possible to test the scene captured by the headset through the editor? I get this error, although I have a scene captured: MRUKLoader couldn't load any scene data. Ensure that Scene Capture has been run and that the runtime permission for Scene Data has been granted.

  • @blackwhalestudio

    @blackwhalestudio

    5 ай бұрын

    yes, make sure spatial data over meta link is enabled in your Oculus Link PC app

  • @kachichan
    @kachichan5 ай бұрын

    Thanks for the video. I got this error message: " There is no scene model available, and scene capture cannot be invoked over Link. Please capture a scene with the HMD in standalone mode, then access the scene model over Link. If a scene model has already been captured, make sure the HMD is connected via Link and that it is donned. " However, I have created a room scan already, any idea? Thank you!

  • @blackwhalestudio

    @blackwhalestudio

    5 ай бұрын

    Hi! Make sure you have captured a scene model with your device before. Also make sure to enable "scene support" on your OVR Manager component on the OVR Camera Rig and lastly, in your Oculus Link App (on your Windows PC) make sure to enable the Spatial Data over Quest Link toggle under the Beta features.

  • @kachichan

    @kachichan

    5 ай бұрын

    @@blackwhalestudio It works! It was the "Spatial Data over Quest Link" I didn't enable. Thank you very much

  • @Syertim
    @Syertim5 ай бұрын

    when i import the virtual home sample i have this error Assets\Samples\Meta MR Utility Kit\60.0.0\Virtual Home\scripts\Resizer\FurnitureResizer.cs(52,61): error CS0234: The type or namespace name 'InvSqrt2' does not exist in the namespace 'Utilities' any suggestions?

  • @blackwhalestudio

    @blackwhalestudio

    5 ай бұрын

    Yes, unfortunately they have an error. You can just comment this section in the script. As far as I can tell it is not really impacting the scene.

  • @Syertim

    @Syertim

    5 ай бұрын

    @@blackwhalestudio thanks for the answer, yes i just commented that variable and replaced it with the value from the utilities script

  • @Syertim
    @Syertim5 ай бұрын

    Hey do you know why in my MRUK component there isn't an enable world lock checkbox? i have the Meta MR Utility Kit v60.0

  • @blackwhalestudio

    @blackwhalestudio

    5 ай бұрын

    it should definitely be there, are you sure you are on the correct component?

  • @Syertim

    @Syertim

    5 ай бұрын

    @@blackwhalestudio Yes, the MRUK script in my MRUK prefab is identical without the enable world lock checkbox, searching online i don't find anyone else with this strage problem

  • @dagmarschurrer4466

    @dagmarschurrer4466

    4 ай бұрын

    @@Syertim@blackwhalestudio did you find a solution? The checkbox also doesn´t show up in my project...

  • @Blast_XR

    @Blast_XR

    4 ай бұрын

    I wonder if this is a bug. I'm on a Mac in Unity 2022.3.5f1 using MRTK v62, and also don't see the "enable world lock checkbox", however when I check the script I see "public bool EnableWorldLock", but there is no visible checkbox in my Unity project like we see in your video @blackwhalestudio. That said, it seems EnableWorldLock is enabled by default in the code. [edit] Confirmed Windows Unity build 2022.3.21f1 also does not show the "enable world lock checkbox" at the time of this comment.

  • @Syertim

    @Syertim

    4 ай бұрын

    @@dagmarschurrer4466 i think in the version v62 the checkbox is not visibile in the inspector, i don't know why, hope it works anyway

  • @Filmblanc
    @Filmblanc3 ай бұрын

    Does this work with Mac?

  • @blackwhalestudio

    @blackwhalestudio

    3 ай бұрын

    Yes