Building Blocks in Unity can be added to your Unity project with the help of Meta XR SDK. A Building Block allows the developer to implement specific Meta Quest functionalities with a low/no code approach. Multiple Building Blocks can be added to a scene and many of the blocks depend on the use of other blocks.
Meta Quest 3
Device setup for developing:
Unity installed
Additional set up tutorial: Set up Unity for XR development
Meta XR All-in-One SDK installed
Add as an asset to your Unity account
Once in Unity, navigate to Package Manager and install All-in-One SDK
The current available Building Blocks and their given Meta descriptions in Unity are as follows. Please note, some Building Blocks have specific dependencies that are listed within Unity and essential for functionality.
Camera Rig: Gives you the ability to track your head and body movements in a virtual environment
Passthrough: Displays a live view of the physical environment around users, which allows them to see and interact with their surroundings while wearing their Meta Quest
Controller Tracking: Gives users more precise control by tracking the position and movement of controllers
Grab Interaction: Lets users interact with virtual objects by grabbing them with their hands or controllers
Virtual Hands: Allows users to see a representation of their hands in a virtual experience
Poke Interaction: Allows users to interact with or activate virtual objects by poking them, similar to how someone might tap a button on a touchscreen
Teleport: Lets users instantly move from one spot to another in a virtual experience by pointing to a location instead of walking or using a controller's joystick to move
Ray Interaction: Creates a ray that looks like a beam of light starting from a hand or controller, which lets users point at things in a virtual experience
Distance Grab: Gives the ability to use hands or controllers to grab and move virtual objects from a distance
Touch Hand Grab: Allows users' actual hands and physical surroundings to interact with virtual objects
Auto Matchmaking: Adds all users running the app to the same room automatically
Custom Matchmaking: Creates a room that only allows other users to join if they have a token
Networked Grabbable Object: Lets different users interact with the same grabbable object in a multiplayer virtual experience
Networked Avatar: Displays users' avatars and makes them move in sync through a virtual experience
Player Name Tag: Allows users to see each other's names above their avatar's heads, helping them identify and communicate with each other more easily
Colocation: Applies a shared spatial anchor to let users in the same physical location share an immersive experience between multiple devices
Player Voice Chat: Provides the integration code for the Photon Voice 2 package, which helps uses talk to each other in a virtual experience
Effect Mesh: Applies special effects to physical objects, such as furniture, walls, and floors, which can make a mixed reality experience look more immersive and engaging
Find Spawn Positions: Finds the best spot to automatically place virtual objects in a mixed reality experience using representations of physical surroundings as reference such as furniture, walls, and floors
Scene Mesh: Loads a digital mesh of physical surroundings so virtual objects can interact more naturally with those surroundings
Anchor Prefab Spawner: Loads an up-to-date representation of a physical environment and allows users to put virtual objects in the same location as physical objects
Room Guardian: Creates a boundary in a virtual experience to help users identify their available space and prevent them from bumping into physical objects around them, such as tables and chairs
Scene Debugger: Provides more information about how objects in physical surroundings interact with a virtual experience in case you need to identify or resolve any problems that might occur with scene data
Real Hands: Lets users engage with objects using their actual hands instead of showing virtual hands
Occlusion: Makes physical objects look like they are blocking the view of virtual objects behind them, which causes virtual objects to appear more integrated into a physical environment
Controller Buttons Mapper: Lets you assign controller buttons to specific actions
Dictation: Converts words users are speaking into text in a virtual experience
Text-to-Speech: Converts written text into spoken words in a virtual experience
Haptics: Provides more engaged virtual experiences by creating effects like sounds, vibrations, or other sensations that match specific actions users take
Surface Projected Passthrough: Projects a live view of the physical environment onto a plain surface in a virtual experience. This allows the app to better integrate physical objects into a virtual experience
Virtual Keyboard: Displays a keyboard that gives users an easy way to type while in a virtual experience
Sample Spatial Anchor Control: Lets users save a spatial anchor in a mixed reality experience so they can easily come back to it and retrieve it later
Spatial Anchor Core: Provides core functionalities for creating, loading, and erasing spatial anchors
Shared Spatial Anchor Core: Provides core functionalities for creating, loading, erasing, and sharing a spatial anchor
Eye Gaze: Gives users the ability to track their gaze and position. This data can be used to add eye interactions in their app
Passthrough Window: Lets users create specific areas within a virtual experience where they can see the physical surrounding, helping them interact with both virtual and physical experiences at the same time
Spatial Audio: Makes sounds in a virtual experience app feel like they are coming from specific directions and distances, similar to how users naturally hear sounds in a physical environment
Hand Tracking: Allows hand tracking and adds visuals to represent users' hands
With your project open in Unity, go to Meta > Tools > Building Blocks
The Building Blocks window will now be displayed and the potential blocks you can add to your scene will be listed
The window will also include any information on the blocks that are dependent on other blocks within a scene
After exploring your options, add the Building Block of your choice to the scene
For more information from Meta on the Building Blocks, please reference: https://developers.meta.com/horizon/documentation/unity/bb-overview/