Develop

Shared Spaces sample overview

Updated: May 11, 2026

Overview

The Shared Spaces sample demonstrates three-layer networking: Oculus Platform (social), EOS (transport), and UE listen-server (gameplay). The project requires the Oculus fork of Unreal Engine 5.5. It features a lobby with colored rooms (Red/Green/Blue private, Purple public), portals with Network Launch, host migration, group presence with destinations and deeplink JSON, support for up to 8 players, and an EOS Net Driver for P2P NAT traversal.

What you will learn

  • Three-layer networking architecture (Platform, Transport, Gameplay)
  • EOS Net Driver for P2P NAT traversal
  • Oculus Platform group presence and destinations
  • Host migration in listen-server topology
  • Deeplink JSON handling for session joining
  • Network Launch via portals

Requirements

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

Get started

  1. Clone the repository.
  2. Open the project using the Oculus fork of Unreal Engine 5.5.
  3. Configure your Oculus Developer Dashboard with app credentials.
  4. Set up your EOS account and configure the EOS Net Driver.
  5. Deploy to Quest devices for multiplayer testing.

Explore the sample

File / SceneWhat it demonstratesKey concepts
Lobby
Player gathering and matchmaking
Group presence, destinations
Red/Green/Blue rooms
Private multiplayer spaces
Access control, room isolation
Purple room
Public multiplayer space
Open access, player discovery
Portals
Room transitions
Network Launch, session migration
EOS Net Driver
Transport layer
P2P NAT traversal, connection management
Host migration
Server failover
Listen-server handoff

Runtime behavior

Players spawn in the lobby and can enter colored rooms through portals. Red, Green, and Blue rooms are private (invite-only), while the Purple room is public. Entering a portal triggers Network Launch to transition between sessions. If the host disconnects, host migration transfers authority to another player. Group presence updates allow friends to join via deeplink JSON payloads. The EOS Net Driver handles P2P connections with NAT traversal for up to 8 players.

Key concepts

Three-layer networking

The sample separates networking into three distinct layers:
  1. Oculus Platform — Social features, group presence, destinations
  2. EOS (Epic Online Services) — Transport layer, P2P NAT traversal
  3. UE Listen-Server — Gameplay replication, state synchronization

Group presence and destinations

Group presence enables friends to see what others are doing and join their sessions. Destinations define named locations that map to deeplink JSON payloads for session joining.

Host migration

When the listen-server host disconnects, authority transfers to another connected player, preserving the session for remaining participants.

EOS Net Driver

The EOS Net Driver replaces the default UE net driver to provide P2P connectivity with NAT traversal, eliminating the need for dedicated servers.

Extend the sample

  • Add additional room types with custom game modes
  • Implement voice chat across rooms
  • Create custom group presence activities
  • Add spectator mode for public rooms