Exploring Meta’s Building Blocks

Satya Dev
Antaeus AR
Published in
8 min readFeb 15, 2024

A Simple Guide for XR Developers

In the world of XR (Extended Reality) development, Meta has introduced something pretty exciting called Building Blocks. This tool is designed to make developers’ lives easier, whether you’re just starting out or you’ve been in the game for a while. Here, I want to share my thoughts on how Building Blocks can be a game-changer and why it’s worth keeping an eye on.

What Are Building Blocks?

Building Blocks are like shortcuts made by Meta to help developers add cool features from the Meta XR SDK into their projects quickly. Think of them as ready-made pieces that you can simply pick up and use in your game or app, saving you a lot of time and hassle. Meta is constantly adding new ones, so there’s always something new to explore.

Getting Started Is Easy

To use Building Blocks, you first need to set up a new project in Unity and install the Meta XR All-in-One SDK. This SDK is a new approach by Meta to replace their older Oculus package with something more flexible. You only need to add what you really want in your project, keeping things neat and lightweight.

Mixed Reality Template
Mixed Reality android build
Meta XR All-in-One SDK

Diving Into Building Blocks

Once you’re set up, accessing Building Blocks is straightforward. You find them under the Oculus tools menu in Unity. Here you can see all the different features you can add to your project. From simple camera setups to more advanced options like hand tracking, it’s all there for you to use.

Oculus -> Tools -> Building Blocks
Oculus icon -> Building blocks

‘Drag and drop’ blocks onto your scene (or) click on ‘+’ icon to add XR features to your project.

Meta’s Building Blocks

Exploring Basic Blocks

Camera Rig:

One of the first blocks you might try is the OVR camera, which is essential for any XR project. It’s pretty cool because as soon as you add it, all the necessary parts get installed automatically. This means you can jump straight into the fun part of development without worrying about the setup.

Camera Rig
Camera Rig — OVR Camera Rig — OVR Manager

Passthrough:

Building Blocks also offer more complex features, like Passthrough, which lets users see the real world around them in your app.

Passthrough
Passthrough — OVR Passthrough Layer

Room Model:

The Room Model block, which can understand and recreate the environment, like walls and furniture, inside your app. These advanced features are usually hard to implement, but Building Blocks make them much easier.

Room Model
Room Model — OVR Scene Manager

Surface Projected Passthrough:

This feature allows you to project a live video feed of your actual environment onto any surface in your virtual world. It’s like turning a part of your VR scene into a window that looks out into the real world.

Surface Projected Passthrough
Surface Projected Passthrough — Passthrough Projection Surface Build Block

Eye Gaze:

With Eye Gaze, you can track where the player is looking in your virtual environment. This adds a new level of interaction, as you can design elements that react when the player looks at them.

Eye Gaze
Eye Gaze — OVR Eye Gaze
Eye Gaze — Eye Gaze Left — Eye Gaze Right

Controller Tracking:

This block tracks the movement of the VR controllers. It’s essential for games and applications that require precise interaction, allowing the virtual environment to respond to the user’s physical movements accurately.

Controller Tracking
Controller Tracking — OVR Controller Helper
Controller Tracking — Controller Tracking left — Controller Tracking right

Hand Tracking:

Hand Tracking brings the user’s hands into the virtual world. Instead of holding controllers, users can see and use their hands to interact with the VR environment, making the experience more intuitive and immersive.

Hand Tracking
Hand Tracking — OVR Hand — OVR Skeleton — OVR Skeleton — OVR Mesh — OVR Mesh Renderer
Hand Tracking — Hand Tracking left — Hand Tracking Right

Virtual Keyboard:

Integrate a virtual keyboard into your VR or AR project. This is especially useful for applications requiring user input, like typing names, entering passwords, or searching for items within the virtual space.

Virtual Keyboard
Virtual Keyboard — OVR Virtual Keyboard

Pointable Item:

This feature enables users to point at items within the virtual environment using their hands or controllers. It’s great for interactive storytelling or educational apps where you might want users to select or highlight objects.

Pointable Item
Pointable Item — Ray Interactable

Pokeable Item:

Pokeable Item allows users to interact with virtual objects by poking them with a finger. This can be used for pressing buttons, flicking switches, or any interaction that requires a more detailed touch.

Pokeable Item
Pokeable Item — Poke Interactable

Throwable Item:

Add realism to your VR experience by allowing users to pick up and throw objects. Items can be equipped with physics properties to simulate real-world actions, such as tossing a ball or hurling an object at a target.

Throwable Item
Throwable Item — Grabbable — Hand Grab Interactable — Physics Grabbable

Grabbable Item:

This block lets users grab and manipulate objects in the virtual world, enhancing interactivity. Whether it’s picking up a tool, moving an obstacle, or simply holding an item, this feature adds depth to the user experience.

Grabbable Item
Grabbable Item — Grabbable — Hand Grab Interactable

Anchor Collider Spawner:

Quickly create invisible colliders at specific locations, known as anchors. These are useful for defining boundaries or triggering events when users or objects enter certain areas of your VR space.

Anchor Collider Spawner
Anchor Collider Spawner — Anchor Prefab Spawner — MRUK Start
Anchor Collider Spawner — MRUK

Effect Mesh:

Transform any object in your scene into a special effects masterpiece. This block allows you to apply dynamic visual effects to objects, adding flair and visual interest to your VR environment.

Effect Mesh
Effect Mesh — MRUK Start

Room Guardian:

Protect users from wandering too far from a safe area by creating a virtual guardian system. This mesh outlines the playable area, helping users stay within bounds and avoid real-world obstacles.

Room Guardian
Room Guardian — Effect Mesh — Room Guardian MRUK Start

Scene Debugger:

Debugging VR scenes can be complex, but the Scene Debugger block simplifies this process. It provides valuable insights and visual feedback, helping you identify and fix issues within your virtual environment quickly.

Scene Debugger
Scene Debugger

Controller Button Mapper:

Customize how controller buttons interact with your VR application. This block makes it easy to assign specific actions to controller buttons, tailoring the user experience to your project’s needs.

Controller Button Mapper
Controller Button Mapper

Passthrough Window:

Create windows within your VR scene that reveal the real world outside. This feature is perfect for mixed reality experiences, where blending virtual content with the real environment enhances immersion.

Passthrough Window
Passthrough Window — Enable Unpremultiplied Alpha

Simple Spatial Controller:

Manage spatial anchors with ease. This block allows users to create, save, load, and erase spatial anchors using their controllers, facilitating navigation and interaction within large or complex VR spaces.

Simple Spatial Controller
Simple Spatial Controller

Spatial Anchor Core:

At the heart of spatial experiences, this block provides the core functionalities needed for managing spatial anchors, essential for creating persistent and accurate location-based experiences in AR and VR.

Spatial Anchor Core
Spatial Anchor Core

Synthetic Hands:

Integrate lifelike synthetic hands into your project. These hands can mimic the user’s movements, providing a visually compelling and interactive way to engage with the virtual environment without physical controllers.

Synthetic Hands
Synthetic Hands
Synthetic Hands

Why It Matters

For developers, especially those just starting, Building Blocks are a huge help. They let you add complex features without needing to write all the code from scratch. This means you can create more impressive projects faster and with less effort. Plus, it’s a great way to learn about different XR features and how they work.

In Conclusion

Meta’s Building Blocks are a powerful tool for anyone interested in XR development. They simplify the process, allowing you to focus on creating amazing experiences for users. Whether you’re experimenting with basic features or diving into more complex interactions, Building Blocks can help turn your ideas into reality. So, if you’re looking to get started or speed up your development process, give Building Blocks a try.

--

--