Software Development Kit


Dive Tracking Technology just works

We have developed a cutting edge low-latency Plugin that brings head tracking to your Apps and Games. We have had many requests to also make it iOS / iPhone / iPod compatible besides Android. So we made it happen:

Now the Dive Unity Plugin is cross Platform for iOS / Android

Dive Tracking is available for Android and iPhone/iPod. Your Project stays the same. Just drag the Dive Camera Prefab to your scene and get lightning fast Head Tracking on both platforms.

Download the Plugin Package: Dive Unity Plugin Package 2.1.5 for Android/ iOS.

You can also download the Dive Unity Demo Project 2.1.5


older versions:
Unity Package 2.0
Unity Demo 2.0

The basic usage is to attach the OpenDive sensor script to a camera and compile for the phone. Our Unity plugin now also supports bigger screens on Android through offcenter projection. Stay tuned for Tutorial Videos and extended features.

Download the Dive Unity Demo from the Google Play Store. For more Tips and Questions please visit the Durovis Dive Board.

Getting your app into our Dive Launcher

You've seen our Dive Launcher. You're wondering how other third-party games get into the list.

Wonder no more, here's how!

FAQ

Which platforms are supported? Which platforms are supported?

Dive SDK supports Android and iOS phones and tablets. Blackberry 10 Phones are not directly supported, but you should be able to run Android apps on them.

How do I get rid of the drift? How do I get rid of the drift?

Lay your device down on a flat surface or alternativly try to hold your head very still for 10 to 20 seconds.

Does Dive SDK support Unity 5? Does Dive SDK support Unity 5?

Yes, but when importing Dive SDK for the first time in a new project, you have to tell Unity which native library it has to use for what platform/architecture. For more information see http://docs.unity3d.com/Manual/PluginInspector.html

How does 'Add Rotation GameObject' work? How does 'Add Rotation GameObject' work?

Usually Dive SDK works with global rotation instead of local rotation in terms of Unity hierarchy which is bypassed by this approach. So if you want to create an effect where the player's virtual head rotation is influenced by another object (e.g. sitting in a rollercoaster) you would have to add the influencing GameObject to DiveSensor.cs. You could also circumvent this procedure by changing the DiveSensor script to use local rotation and placing the dive camera rig into the respective GameObject.

What's Dive Input? What's Dive Input?

At the moment Dive Input supports magnetic triggers and touch events to give your users a simple input possibility.

How can I use custom Actions with Dive Input? How can I use custom Actions with Dive Input?

Just register a new function to DiveSensor's Eventhandler like

      DiveSensor.MagnetTriggered += myFunction;

whereby the function should have a signature like

      private void myFunction(object sender, EventArgs e){...}.

I encounter Linker problems with Xcode - how can I solve them? I encounter Linker problems with Xcode - how can I solve them?

Try to update Xcode, Unity and Dive SDK to their most recent versions. In Unity choose IL2CPP as scripting backend. Also, be sure to check if you're using libc++ instead of libstdc++ (Build Settings > Language C++ > C++ Standard Library).

Can I use your SDK for commercial Apps? Can I use your SDK for commercial Apps?

Yes, you can use it for commercial and non-commercial Software.

What's Dive 7 and how can I write code for it? What's Dive 7 and how can I write code for it?

Dive 7 is a special Dive for 7 inch Tablets. You should not worry about coding for it, since Dive SDK will take care of everything, especially Offcenter Projection.

What is this 'Offcenter Projection' and how do I use it? What is this 'Offcenter Projection' and how do I use it?

The distance between the two center points of the splitscreen on a 7 inch tablet is different from the distance between your eyes in such a way that there has to be made a correction in the app which consists mainly of moving the screen center points closer together. If you've used the dive prefab, it should be activated by default. Otherwise, you can activate it by putting it on the same GameObject like DiveSensor.cs, drag the cameras onto it and hit 'Auto Correct Offset'.

Why do I need the Natural Orientation Script and what's it good for? Why do I need the Natural Orientation Script and what's it good for?

There are some devices which have 'Landscape' set as their default device orientation. If that's the case, head tracking will be messed up and directions inverted. NaturalOrientation gathers this information and will correct tracking if needed.