Hey there!
In this quick start guide for ISAR we will show you how to easily set up your first ISAR project in Unity. For this we will need Unity Hub 3.0.1, Unity 2020.3.30, MRTK 2.7.3 and of course ISAR 2.4.0.0.
First, we check whether your system complies with the requirements necessary for an successful use of ISAR and install the necessary tools. Once this is done, we implement the ISAR SDK in Unity’s development environment, connect to the client device (in this guide, Android devices) and set up a demo scene via Microsoft's Mixed Reality Toolkit.
The first chapter will cover where to get everything required to get the ball rolling.
First, we should check if your system is good-to go. In the table below are listed the Hardware Requirements as well as the Networking Requirements for ISAR.
| Minimum | Recommended |
Operating System | Windows 10 (10.0..17763 Build 17763) Windows 11 Windows Server 2019 | Windows 10 (10.0..17763 Build 17763) Windows 11 Windows Server 2019 |
Memory | 16 GB | 64 GB |
CPU | Intel i5 8th Gen. 6 Cores AMD Ryzen 7 3700X | Intel i7 12 Gen. 12 Cores AMD Ryzen 9 3900X |
GPU | NVIDIA GTX 1070Ti NVIDIA GRID for VMs | NVIDIA RTX 3080 TI NVIDIA GRID for VMs |
Storage | SSD or NVMe | SSD or NVMe |
Networking | WiFi 5GHz Bandwidth 20 MBit | WiFi 5GHz Bandwidth 40 MBit |
Enable incoming TCP Port 9999 Enable outgoing UDP Ports 16384-32768 | ||
The local network of the AR device must be capable of using STUN (Session Traversal Utilities for NAT) in case the Server is not located in the same network as the Client. |
Your PC hardware specs can be checked by clicking on the Windows Start button and then navigating to Settings. In the Settings menu, press on System and then scroll down to About. There you will see specs for processor, Memory (RAM) and some other system info.
The best way to employ Unity and launch a project is with Unity Hub. It is a tool used for managing multiple installations of the Unity Editor, creating new projects, and accessing already created projects.
Unity Hub can be found here.
From the next step on, we can finally get down to business and implement
ISAR in a Unity project.
If you skip this step and do not uninstall "Version Control", the ISAR tab will not be displayed in the top row, and you will therefore not be able to use ISAR. We should keep the Package Manager tab open, as we will need it in the next step.
Within these two folders, the file "package.json"
must be selected respectively. Please make sure that you import both packages for smooth use.
As a next step, we need to get the project up and running by either entering the play mode in the Unity Editor or building a standalone application.
The play mode is triggered in Unity by pressing the “Play” button. The connection to the server can now be established using one of the client applications. This step is described in chapter 3.
A standalone application can be built by navigating to File -> Build Settings -> PC, Max & Linux Standalone -> Build.
If you have no object imported currently, you will get a black screen once you
establish a connection. By clicking on “Add Open Scenes” you can import your
scene(s) into the standalone application. This option is important, once you imported 3D objects into Unity.
Next, save the build in your preferred directory. Outside of Unity,
navigate to the .exe file and run it as an administrator.
The ISAR Server application will in turn start listening on the TCP port 9999, which is needed to establish the streaming session. If the connection should fail, ensure that it is not being blocked by a firewall.
Check Unity Mock HMD and ensure not to call the ISAR class, or any of the inherited classes (IsarViewPose, IsarAudio, IsarCustomSend or IsarQr) constructor within the code.
In addition, disable the QrSupport script, if it happens to be
enabled.
Once you have progressed this far, you have installed the necessary tools and implemented the ISAR SDK in a Unity project, great! But that's only half the fun: In this chapter, we will focus on the client applications that make the invisible visible.
The ISAR SDK currently supports HoloLens 2, Oculus Quest 2 and Android.
To establish a connection between the server (your workstation) and the preferred client application, all devices involved must be on the same network. This requirement cannot be evaded, as no connection can be setup in any other way.
The following parameters can – and should be changed – depending on the client device. Please note: Changes to the configuration file in “Streaming Assets” will be overwritten each run and each build; therefore, it is recommended not to make changes to the copied file.
Client
Width
Height
NumViews
Bandwidth
HoloLens 2
1440
936
2
36000
Oculus Quest 2
1920
1920
2
50000
Android
1920
1080
1
36000