Basic setup of SDK

Newest version: 2.2
Released on July 13th 2020
New in version 2.2:

  • Manual calibration options added to SDK, no need to go to the Aryzon app and recalibrate
  • Added support for ARFoundation
  • Added rotational tracking fallback when room scale tracking fails
  • Default tracking engine now is ARFoundation
  • Added prediction on the movement of the phone making movement more realistic by reducing lag.
  • New way to interact with objects and Canvas items.
  • Support for bluetooth controllers to ‘click’ instead of a time-delay click for the reticle.
  • MRTK support, run HoloLens projects in Aryzon!

Download Unity package here: (2.8 MB)

Download sample project here:
The sample project includes ARFoundation (6dof), Vuforia (6dof), and rotational (3dof) sample scenes
AryzonSDK Sample (3.4 MB)

Follow these steps

  1. Open the example Unity project
  2. Pick a scene from the ‘Examples’ folder.
  3. Switch your build platform to iOS or Android
  4. Add a Vuforia license key to the Vuforia configuration file for the Vuforia scene.
  5. Build and run a sample project on your phone

Extra step when you import the SDK to your own project

  • Add ARFoundation if you want to use ARFoundation, otherwise add the XR Legacy Input Helpers from the Package Manager.

MRTK integration
You can easily run MRTK projects on your phone with Aryzon!

  • Follow the steps from Microsoft provided in this link. We tested it with ARFoundation 4. Build&run to make sure the app functions correctly without the Aryzon SDK first.
  • Add the Aryzon and AryzonUI prefabs and select ARFoundation on the Aryzon GameObject.
  • Do not use the AryzonInputController, instead add the prefab in this link to your scene: (0.04 MB)
  • Deactivate the EventSystem in the Aryzon GameObject.
  • Build&Run

Setup a Bluetooth controller
If you have a bluetooth controller you can add this in Aryzon mode. Make sure you have the AryzonInputController or AryzonMRTKController in your scene:

  • Enter Aryzon mode in the app and tap on the gear icon
  • Tap on ‘Listen’
  • Click the button you want to use on the controller as a ‘reticle click’.

Some bluetooth controllers require to be set in a different mode in order to be recognised. Please refer to the devices manual on how to do that.

Choose your headset

  • You should select your headset type in Aryzon mode by tapping the ‘Gear’ icon in the upper right hand corner. The most recent cardboard headset is Aryzon V.3.

Tutorial on YouTube


In which Unity version do you recommend to work in (what do you use)? and do you al ready have the Tracker available so we can show something above the tracker like you are doing in the Kickstarter movie (or was that CGI?).

Furthermore some observations:

  1. In my unity project the cube is not switching its color.
  2. The menu is indeed not working yet.
  3. When building the SampleScene to my phone it does not appear to do much.

Good luck with the second version of this SDK!

Thank you for your input and sorry to hear the SDK is not working for you. I hope to be of assistance. Can you give us some more information? Which OS are you running, what version of Unity are you using and are you getting any errors? Do you see something else on your phone as opposed to the Unity editor?

We are running 5.6.1f1 on Windows and 5.6.0f3 on Mac.

The video was all shot using Vuforia tracking software. We will be releasing a tutorial on this soon.

Quick tip if you’re on Mac OS-X: don’t double click the downloaded zip file to uncompress because the unity package will be expanded as well. Use the unzip command from terminal instead.

The package imported successfully in Unity 5.6.1p1

1 Like

Just built the project for Android and iOS

Android: latest SDK, minimum target Lollipop 5.0, hardware Nexus 5X on 7.1.2
iOS: 11.0 beta, iPhone 5 SE
Unity: 5.6.1p1 OS-X

In the editor preview the sample scene works as specified.

On both Android and iOS the screen is stuck (no compass of gyroscope response). When I limit display to landscape mode the cube is visible, in auto-rotate portrait/landscape only the separator bar with the blue dot is visible. After autorotating from portrait to landscape the display is distorted (aspect ration). App always opens in portrait when enabled.

The menu can be openened (on Android) but not dismissed AFAICT.

Love the editor preview, looking forward to next release!

Thanks for pointing out the auto-rotate functionality. We always designed the app in landscape mode only so didn’t notice that. Should be an easy fix.

We have not build in gyro support since most people will be using a third party library to do this and we don’t want it to interfere with those libraries. We’ll show you how to do this with Vuforia really soon.

Press the little logo again to close the menu. (We’ll make it more intuitive though…)

Someone with a similar problem updated their Unity from 5.4 to 5.6 and the problem disappeared.

The Aryzon SDK has been updated, download the AryzonUnitypackage at the top of this page and have a look at Update 3 of what’s new and what’s coming.

Is 6DOF supported on ARKit devices that support it?

I’m using the SDK and added the Aryzon prefab per your instructions but I can’t walk around the scene (6DOF), I can only rotate the camera (3DOF). What am I doing wrong?

Thanks in advance Maarten.

It looks like theres some extra steps in the video that replace the gyro camera with the arkit camera. thanks!

I followed the steps in the video but its not quite working. I do see the reticles but the point clouds and blue plane borders never appear, neither does the checkered cube.

A missing step from the video is to undefine Vuforia in ARMode.cs, I also had to remove the vuforia librarys from the generated Xcode project in order to get it compile.

What am I doing wrong? Use latest Unity (2017.2.0.f3), and latest ARKit and Aryzon packages.

I agree the video for ARKit integration could use an update.

There is a #define USE_VUFORIA in the ARMode.cs. You can comment out that line if you are not using Vuforia.

Also if there is a ARGyroCamera script on the ARCamera component you should remove or disable it if you are using a tracking engine.

The rest should be the same as in the video for ARKit. Please let me know if you run into anything else.

When I try to compile the sample scene to IOS, I always get a compile error in Xcode.
It says:
Undefined symbols for architecture arm64:
"_setBrightnessToHighest", referenced from:
_ARMode_setBrightnessToHighest_m2365224479 in Bulk_Assembly-CSharp_0.o
_ARMode_StartARMode_m3045889437 in Bulk_Assembly-CSharp_0.o
_ARMode_Update_m355736179 in Bulk_Assembly-CSharp_0.o
(maybe you meant: _ARMode_setBrightnessToHighest_m2365224479)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

What am I doing wrong?

Hi you’re not doing anything wrong, there is one more thing for you to do before building. This is a copy from the iOS Readme file in the Aryzon assets folder:

Running into this error?

Undefined symbols for architecture arm64:
  "_setBrightnessToHighest", referenced from:
      _ARMode_setBrightnessToHighest_m3281570611 in Bulk_Assembly-CSharp_0.o
      _ARMode_StartARMode_m3107676903 in Bulk_Assembly-CSharp_0.o
      _ARMode_Update_m773277258 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _ARMode_setBrightnessToHighest_m3281570611)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

You will have to add these lines to, directly below the int(main…) {} function.

extern "C" {
    void setBrightnessToHighest() {
        NSLog(@"Setting Brightness");
        [[UIScreen mainScreen] setBrightness:1.0];

If you append your builds this will stay in place. On a new build you will have to re-add
the method, or comment out the lines referring to this function in the ARMode.cs script.
This makes sure the brightness of the screen turns to full when going into AR mode.

Hey, The unity package gives a very strange fodler structure when I unzip it. Just a lot of folders with names like 6e4a1744cf113994799d3e46a7c45d9
What is wrong with the file?

Hi Jelmer, I just tested it and the file should be OK. Could it be your unzip software that messes things up?

Hey Jelmer,

Ran into the same problem using the default Archive Utility on my mac. I downloaded Rar Extractor from the App Store and it worked just fine, so something’s probably up with your unzipping tool.

I used MacOS’s stanard unzipper. Aidin here had the same problem. A bit strange bit I’ll try to use another utility.
Edit. Ok, I used “The unarchiver” now and i get a neat Unitypackage :slight_smile:

Nice to hear it’s working now. I used the default Mac Archive tool to zip it, sometimes weird things just happen I suppose.