Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Portable APIs and components for networking and state synchronization

License

Notifications You must be signed in to change notification settings

microsoft/MixedReality-Sharing

Repository files navigation

NOTE: This project is no longer maintained

MixedReality-Sharing

Licensed under the MIT License Under active development

MixedReality-Sharing is a cross-platform solution to enable rich multiuser experiences. In particular most mixed reality experiences need the following:

  • Matchmaking - find and join experiences
  • Streaming - transmit and receive audio/video/data
  • Localization - agree a shared reference frame (anchor)

MixedReality-Sharing provides library packages to fulfil each of the above needs. The packages are independent, meaning they can be adopted or replaced incrementally. Integration libraries are provided so that the packages work together seamlessly, both with each other and with external libraries.

Matchmaking

The Matchmaking.Discovery is based on a simple advertisement/discovery protocol. The transport is pluggable and there are implementations for peer-to-peer UDP broadcast and dedicated server.

Streaming

We recommend MixedReality-WebRTC for streaming audio, video and data. As with any WebRTC solution, an external signaling mechanism is required to establish a connection. We provide an in-process signaling solution to make this easy.

Localization

On augmented reality (AR) platforms, “anchors” are a common frame of reference for enabling multiple users to place digital content in the same physical location, where it can be seen on different devices in the same position and orientation relative to the environment.

SpatialAlignment allows a variety of backends such as Azure Spatial Anchors or Fiduciary Markers such as QR codes.

Getting Started

Installation

  • NuGet Packages
    • NuGet packages are our recommended way to consume MixedReality-Sharing libraries.
  • Download
  • Build Source

Documentation

...

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

About

Portable APIs and components for networking and state synchronization

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages