Spectator View is an augmented reality product that enables viewing HoloLens experiences from secondary devices. Spectator View has multiple configurations and supports a variety of scenarios from filming quick prototypes to producing keynote demos.
The Spectator View repository contains multiple sample projects. To see how to set up samples go here. To add Spectator View to your own project, see below.
To build the Microsoft.MixedReality.SpectatorView Unity package, you will need the following:
- Windows PC
- Visual Studio 2019 installed on the PC
- Universal Windows Platform development tools (installed through visual studio installer)
- Desktop development with C++ tools (installed through visual studio installer)
- Windows 10 SDK (10.0.18362.0)
- Git installed on the PC and added to your
PATH
variable - NuGet installed on the PC and added to your
PATH
variable
The below dependencies are optional but should be obtained if they are desired for video camera filming.
- Download the Azure Kinect Sensor SDK
- Download the Azure Kinect Body Tracking SDK
- Download Blackmagic design's Desktop Video & Desktop Video SDK from here
- Search for Desktop Video & Desktop Video SDK in "Latest Downloads" (Note: 10.9.11 is the current version used in the SpectatorView.Compositor.dll. Newer versions may contain breaks.)
- Extract downloaded content to a
external\Blackmagic DeckLink SDK 10.9.11
(make sure this path matches the path found in )
There are currently two ways to consume the com.microsoft.mixedreality.spectatorview.* Unity package. You can either build the package and generate a folder containing all project content to share with your team or you can add the MixedReality-SpectatorView codebase as a submodule to your project.
- Clone the MixedReality-SpectatorView repository.
- Checkout your desired branch (
master
). - Run
tools\scripts\CreateUnityPackage.bat
in an administrator cmd window.Note: It may take a while to build external dependencies for Spectator View's native components the first time this script is run.
- Copy the generated packages\com.microsoft.mixedreality.spectatorview.* somewhere in/near your project (don't place the package inside your Unity project's Assets folder).
- Add a reference to the com.microsoft.mixedreality.spectatorview.* folder to your Unity project's Package/manifest.json file. For more information on referencing a local Unity package, see here.
- Add the MixedReality-SpectatorView repository as a submodule to your preexisting git repository.
- Checkout your desired branch (
master
).Note: It may take a while to build external dependencies for Spectator View's native components the first time this script is run.
- Run
tools\scripts\CreateUnityPackage.bat
in an administrator cmd window. - Add a reference to the submodule folder src/SpectatorView.Unity/Assets in your Unity project's Package/manifest.json file. For more information on referencing a local Unity package, see here.
Note 1: Creating a unity package is only supported on PCs. You can prepare the repo on Mac for building the iOS example applications by installing powershell and running
tools\scripts\SetupRepository.ps1
.
Note 2: If your development setup does not allow for symbolic links, running
tools\scripts\CreateUnityPackage.bat -HardCopySymbolicLinks
will replace symbolic links in the project with copied file content. This should allow developers to generate unity packages, but it will make it more difficult to edit and contribute submodule changes.
For more information on setting up a Spectator View project after obtaining the com.microsoft.mixedreality.spectatorview.* Unity package, see the following pages:
For more information on Spectator View's architecture, see here.
For more information on debugging Spectator View, see here
The easiest way to file feedback is by opening an issue. When filing feedback, please include the following information (when applicable):
- Whether you're using a HoloLens or HoloLens 2 device
- Development PC Windows Version
- Unity Version
- Whether you are building with .Net, Mono or il2cpp in Unity
- Visual Studio Version
- Windows SDK Version
- iOS device type/iOS Version
- Mac OS Version
- Android device type/Android OS Version
- Android Studio Version
In addition to opening issues, Spectator View contributors are active on Stack Overflow. Use the MRTK tag when asking Spectator View related questions.
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.