Onirix SDK is a source development kit for Unity that allows to create custom or white label applications using Onirix as the AR content provider.
Onirix SDK doesn't require extensive maths or 3D graphics knowledge, it will set up the AR layer for you so you can focus on what's really important, your content. It already comes with a preconfigured solution of a fully working app you can easily extend or modify, check intructions for more details.
This is the preconfigured scene (WhiteLabelScene) that comes with the SDK.
If you want to test it on your own Android device, you can download this APK here
Onirix SDK distribution is private. If you are interested in creating your own application using Onirix you may write us at info@onirix.com and we will contact you back.
You will receive the SDK in the form of a Unity project. It comes with a sample scene called WhiteLabelScene that simulates a white label mobile application for displaying arcade machines in AR.
We recommend to start building new apps by loading this scene and modifying it according to your project needs. A global configuration script is also providing to easily modify the contents of this sample scene.
In order to organize the UI, Onirix SDK provides a view controller system, coordinated by a NavigationController.
Each screen has its own view prefab and controller script. All views are added to an array inside the OnirixUIManager component of Onirix gameobject.
Some of the provided views are:
Onirix SDK also provides an internationalization system to manage localized strings.
i18n files are located at WhiteLabelPlayer -> Resources -> translations -> whitelabel_lang.json. By default, you will find english and spanish translations.
There are 2 different ways of internationalizing texts:
The VisorViewController implements the interface IDynamicLoadListener, providing the following callbacks:
Onirix SDK loads the scene elements using the following hierarchy:
If you want to get and manipulate an scene element, you can use the following script:
public void OnTargetAssetsLoaded(Target target)
{
var targetsRoot = GameObject.Find("Targets");
var element = target.Elements.First(e => e.Name.Equals("Elem"));
var elementObject = targetsRoot.transform.FindDeep(element.Oid);
// Do something with elementObject
}