EdgeVerse is a multi-user Virtual Reality (VR) platform designed to support edge-assisted networking and synchronization for shared immersive environments.
The key design principle of EdgeVerse is to decouple multi-user networking operations from local scene rendering. VR clients execute rendering and user interaction locally, while connection management, user-state synchronization, and other multi-user functions are handled by a server deployed at the network edge.
EdgeVerse was developed as a research platform for studying edge-assisted immersive applications, including the impact of edge computing and eBPF/XDP on multi-user VR networking, synchronization, and performance.
EdgeVerse consists of two main components:
- VR Client: Runs locally on each user's device and is responsible for scene rendering, user interaction, and VR input.
- Edge Connection Server: Manages multi-user connections and synchronizes user states among participating clients.
This separation allows the networking infrastructure to be deployed close to users while keeping scene rendering on the client devices.
EdgeVerse also integrates eBPF/XDP-based packet processing at the network edge to accelerate the processing of traffic between VR clients and the connection server.
EdgeVerse was developed using:
- Unity 3D
- C#
- Photon Unity Networking (PUN 2)
- OpenXR
- Unity XR Interaction Toolkit / XR Device Simulator
- eBPF/XDP
Photon Unity Networking provides the underlying multi-user communication and synchronization mechanisms, including state synchronization and delta compression.
EdgeVerse can be used with head-mounted displays supporting the OpenXR runtime. The platform was developed and tested with devices such as:
- HP Reverb
- Samsung Odyssey
- Oculus/Meta Quest
EdgeVerse can also run without a physical VR headset using Unity's XR Device Simulator. This mode allows developers and researchers to emulate headset and controller interactions using a keyboard and mouse.
To build and run EdgeVerse, you will need:
- Unity 3D
- A compatible OpenXR environment
- Photon Unity Networking (PUN 2)
- A Windows machine for hosting the edge connection server
- An eBPF/XDP-capable Linux system if reproducing the accelerated network path described in the paper
The exact Unity and package versions used for the original experiments may differ from current releases. If using newer Unity, OpenXR, or Photon versions, minor configuration changes may be required.
- Clone this repository:
git clone <repository-url>
cd EdgeVerse-
Open the project in Unity.
-
Configure the target platform and OpenXR runtime for your VR device.
-
Configure the Photon/PUN networking settings to point to your edge connection server.
-
Build and deploy the application to the desired client device.
The project includes support for Unity's XR Device Simulator, which makes it possible to run EdgeVerse without a physical headset.
The provided scenes may contain an XR Device Simulator GameObject. Disable this GameObject when running EdgeVerse with a physical head-mounted display.
The original EdgeVerse deployment used a Windows 10 machine located at the network edge as the connection server.
To reproduce this configuration:
- Install and configure the Photon server software on the Windows edge machine.
- Configure the Unity PUN 2 client to connect to the IP address of the edge server.
- Configure the client to use port
5055. - Ensure that the corresponding firewall rules permit UDP traffic on the required Photon ports.
Security note: Do not expose an experimental Photon server directly to the public Internet without appropriate firewall rules, access controls, and network security measures.
Server addresses, credentials, Photon application identifiers, API keys, and other deployment-specific secrets should not be committed to this public repository.
EdgeVerse is described in the following paper:
O. Okafor, F. Esposito, and T. Pecorella,
"EdgeVerse: Multi-User Virtual Reality via Edge Computing and eBPF,"
in Proceedings of the 20th International Conference on Network and Service Management (CNSM 2024),
Prague, Czech Republic, October 28–31, 2024, pp. 1–4.
DOI: 10.23919/CNSM62983.2024.10814299
IEEE Xplore
The adoption of Extended Reality (XR) technology has been hindered by the need for high-bandwidth and low-latency networks to provide immersive experiences. Head-mounted devices used in XR are still heavy and not portable, limiting the potential of XR applications in various contexts. In this paper, we propose EdgeVerse, a multi-user XR system that leverages edge computing and extended Berkeley Packet Filter (eBPF) to offload computation, thereby reducing the dependency on high-bandwidth networks in support of XR applications. Our approach enables lightweight clients, such as devices with an edge browser, making XR more accessible to users. The key design of EdgeVerse focuses on offloading the connection and network synchronization of multiple XR users at the edge. We used an XDP bidirectional router that processes XR traffic faster to enhance user interaction, responsiveness, and immersive experience. To establish the practicality of our approach, we evaluate our results on a prototype that indicates improved response times and reduced latency with respect to baseline solutions.
If you use EdgeVerse in your research, please cite:
@inproceedings{okafor2024edgeverse,
author = {Okwudilichukwu Okafor and
Flavio Esposito and
Tommaso Pecorella},
title = {EdgeVerse: Multi-User Virtual Reality via Edge Computing and eBPF},
booktitle = {Proceedings of the 20th International Conference on Network and Service Management (CNSM)},
pages = {1--4},
year = {2024},
address = {Prague, Czech Republic},
doi = {10.23919/CNSM62983.2024.10814299}
}Contributions, bug reports, and suggestions are welcome. Please open an issue describing the problem or proposed improvement before submitting substantial changes.
Please see the LICENSE file for the terms under which this software is distributed.
If no license has yet been added to the repository, add one before making the repository public. Without an explicit license, others generally do not have permission to reuse, modify, or redistribute the code.
EdgeVerse is a research prototype and is provided as-is. It may require configuration changes to work with newer versions of Unity, Photon, OpenXR, or current VR hardware.