Develop

Unreal Discover sample overview

Updated: May 11, 2026

Overview

The Unreal Discover sample is a Mixed Reality reference architecture built on the Oculus fork of Unreal Engine 5.5. It features EOS networking as a GameInstanceSubsystem, custom interaction with haptic feedback (UDiscoverInteractionComponent, UHapticButton), colocation via shared spatial anchors, Scene API room setup, DroneRage and MRBike sub-applications, bundled plugins (OculusHandTools, MetaXRAudio, MetaXRPlatform, OculusUtils), and supports up to 8 players.

What you will learn

  • Mixed Reality reference architecture patterns
  • EOS networking as a GameInstanceSubsystem
  • Custom interaction components with haptic feedback
  • Colocation via shared spatial anchors
  • Scene API room setup and integration
  • Sub-application architecture (DroneRage, MRBike)

Requirements

  • Meta Quest 2, Quest 3, or Quest 3S
  • Oculus fork of Unreal Engine 5.5
  • EOS account

Get started

  1. Clone the repository.
  2. Open the project using the Oculus fork of Unreal Engine 5.5.
  3. Configure EOS credentials in the project settings.
  4. Ensure Room Setup is completed on the target Quest device.
  5. Deploy to device for single-player testing or multiple devices for multiplayer.

Explore the sample

File / SceneWhat it demonstratesKey concepts
Main scene
MR reference hub
Scene API room setup, passthrough
DroneRage
Combat sub-application
Spatial interaction, physics
MRBike
Locomotion sub-application
Mixed reality movement
UDiscoverInteractionComponent
Custom interaction
Haptic feedback, input handling
UHapticButton
Pressable UI
Physical button simulation
EOS GameInstanceSubsystem
Networking layer
P2P multiplayer, up to 8 players
Colocation system
Shared space
Spatial anchor sharing

Runtime behavior

The app initializes with Scene API room setup to map the physical environment. Players interact with the world using UDiscoverInteractionComponent, which provides haptic feedback through UHapticButton elements. DroneRage and MRBike are available as sub-applications within the shared space. EOS networking runs as a GameInstanceSubsystem, managing P2P connections for up to 8 co-located players aligned via shared spatial anchors.

Key concepts

EOS networking as GameInstanceSubsystem

Networking is implemented as a GameInstanceSubsystem, providing a clean lifecycle that persists across level transitions:
UCLASS()
class `UEOSNetworkingSubsystem` : public `UGameInstanceSubsystem`
{
    GENERATED_BODY()
    // Manages EOS P2P connections across the game instance
};

Custom interaction components

UDiscoverInteractionComponent and UHapticButton provide a unified interaction system with haptic feedback for mixed reality UI elements.

Colocation via shared spatial anchors

Players establish a shared coordinate space through spatial anchor sharing, enabling co-located multiplayer where all participants see virtual content in the same physical positions.

Sub-application architecture

DroneRage and MRBike demonstrate how to build modular sub-applications within a shared MR environment, each with distinct gameplay mechanics.

Bundled plugins

The project bundles several plugins for a complete MR experience:
  • OculusHandTools — Hand tracking utilities
  • MetaXRAudio — Spatialized audio
  • MetaXRPlatform — Platform services
  • OculusUtils — General utilities

Extend the sample

  • Create additional sub-applications using the existing architecture
  • Add persistent spatial anchors for returning sessions
  • Implement custom hand interactions with OculusHandTools
  • Add spatialized audio feedback using MetaXRAudio