Targets SDK

OnirixMobileUnitySDK is a set of tools that you can use to build your own AR app with Unity. Offering support for both ARCore and ARKit, OnirixMobileUnitySDK works as an abstraction layer that provides an uniform interface for whatever your target device is. Thanks to the features provided by the SDK you will be able to connect to your Onirix Studio projects to display the targets you have already configured through the web interface, both on the surfaces detected in your environment and the recognized images that has been previously set as markers.

Download Onirix Mobile Unity SDK from Github

Onirix application architecture

In the following diagram, you can see the architecture of a custom app using OnirixMobileUnitySDK.

SDK component diagram

As we have previously said, and as seen there, OnirixMobileUnitySDK is built with and for Unity. The SDK is fully-featured providing you tools both to deal with AR technologies and to link your app with Onirix Studio. To achieve this goal, we have organized the SDK in several layers, each of which it's responsible for a specific and well-defined task.

The lowest layer, that serves as the foundations for this set of tools, is called Onirix SDK. We must emphasize that, despite what one might think by its name, this layer does not constitute a complete SDK (and it will never be distributed separately), but rather provides a common set of tools for the different Onirix SDKs (OnirixTangoUnitySDK also uses Onirix SDK to provide an AR experience based on Tango technology). In addition to the included assets, scripts and prefabs, basic for the creation of any app, Onirix SDK also contains an Onirix Core module provided as a managed dll file including the most critical features. Some code in this library is encrypted, providing this way an additional level of protection against reverse engineering attacks just to make sure your projects are safe. There are also some library dependencies, but you don't have to worry about them because they come all packaged on the .unitypackage distribution file. Still, we quote them below because they are accesible and you are free to use them directly in your application if you need them.

  • UnityGLTF: GLTF/GLB 3D file format loading support.
  • UnityLitJSON: JSON (JavaScript Object Notation) format support, including serialization and deserialization.
  • UnityZIP: ZIP format compression and decompression support.

Relying on everything mentioned above, the OnirixMobileSDK includes some additional assets and prefabs as well as the abstraction layer that provides an uniform interface for both ARKit and ARCore technologies, allowing you to withdraw from your target devices and making sure that your app will work flawlessly both on iOS and Android. The ARKit and ARCore dependencies are also managed automatically, so you can forget about them.

Scripting reference

Check out the Scripting reference page for a quick reference of the main entities that make up the OnirixMobileSDK module by module.

Sample projects

Please, visit the Tutorials page for app creation walkthroughs and code examples.