Interactive Streaming for Augmented Reality (or just ISAR) is a plugin, allowing interactive (data/telemetry being transmitted both ways) streaming of ANY application to XR devices.
Explore the docs »
View Demo
·
View Integration
·
Report Bugs
·
Request Features
Table of Contents
The following documentation specifically references usage with the Unity Game Engine, however the ISAR SDK can be used independently of Unity. For more support regarding usage outside of Unity, see the Support section of our website.
Since this is a trial of the ISAR SDK, it comes with an expiration date. We always update the package/repo prior to the date running out. Your application will no longer stream once the trial expires! So keep an eye out for udpates.
Now with that out of the way, let's get you started on rolling with ISAR SDK. We recommend you check out the quick integration tutorial video as well as an overview of the architecture.
- Check out the latest Release Notes
- Minimum Unity 2019.4.x (tested with 2019.4.21f1)
- Disable your Firewall (or check below for specific ports to open for the stream)
- Open an existing Unity 3D project or create a new one
- Remove previous versions of ISAR from the project (skip this if the project does not currently have ISAR installed)
- Open Package Manager in the Unity editor (
Window -> Package Manager
) - Find the ISAR Core package and choose Remove
- Find the ISAR MRTK Extensions package, if installed, and choose Remove
- Open Package Manager in the Unity editor (
- Import ISAR Core into the project
- Open Package Manager in the Unity editor (
Window -> Package Manager
) - If installed, remove the Version Control package from the project
- Click the + then Add package from disk... and select the file
package.json
from thecom.hololight.isar
directory contained in this repository
- Open Package Manager in the Unity editor (
- Add the desired toolset following the instructions below
- MRTK; supports HoloLens 2, Oculus Quest 2 and Android clients
- XR Interaction Toolkit; supports Oculus Quest 2 client
- Navigate to
Edit -> Project Settings -> XR Plug-in Management
- Enable ISAR XR
- Open
File -> Build Settings...
- Ensure the following configuration is selected:
- Platform: PC, Mac & Linux Standalone + Architecture: x86_64
- Ensure the following configuration is selected:
The configuration file for ISAR is located within the ISAR Core package in Runtime/Resources
. A copy of this file is placed in the Assets/StreamingAssets
directory of the Unity project when the server is run. Changes to the configuration file in StreamingAssets
will be overwritten each run and each build; therefore it is recommended not to make changes to the copied file.
Below is a description of each section within the configuration file that can be changed by the developer. The suggested default values for each client can be found here.
width
andheight
determine the resolution of the rendered image per view/eye. Careful, the resolution needs to be supported by the H264 hardware decoder of the client devicenumViews
determines the number of views/eyes rendered on the client device. Valid values are:1
for mono rendering, e.g. Tablets2
for stereo rendering, e.g. HoloLens
bandwidth
allows the developer to specify the bitrate for the encoder. If no value is set, a default value of 20mbit is used.
Enter play mode in the Unity editor or build a standalone application with the following settings:
- Platform: PC, Mac & Linux Standalone
- Target Platform: Windows
- Architecture: x86_64
The ISAR server application will start listening on the TCP port 9999. The ISAR client application is using this port to establish the streaming session. If the connection fails, ensure that no firewall is blocking it.
The ISAR SDK can be disabled while remaining as a package in the project. To do so, follow the below steps:
- Click
Edit->Project Settings
and move to the XR Plug-in Management section - Uncheck ISAR XR
- Check Unity Mock HMD
- Ensure not to call the
Isar
class, or any of the inherited classes (IsarViewPose
,IsarAudio
,IsarCustomSend
orIsarQr
), constructor within the code - Disable the
QrSupport
script if it is enabled
ISAR SDK supports several clients that can connect to the server. For information on installing and connecting with specific clients, refer to Clients.
A preconfigured example is available within the repository. For information on how to load this example, refer to Example.
To find out how to easily integrate QR code support, see here.
To find out how to enable and use image tracking, see here.
For more examples, please refer to the Docs.
- Depth (Stabilization)
- Spatial Understanding
- ISAR 3.0
- Improved Audio
- Improved Performance
- iOS Support
See the open issues for a full list of proposed features (and known issues).
Distributed under Holo-Light GmbH's Proprietary License. See License.txt
for more information.
Holo-Light GmbH - @Holo_LightGmbH - [email protected]
Project Link: https://github.com/Holo-Light-GmbH/ISAR-SDK-Trial