For your content to be approved for release on the PixoVR platform, your application must implement the following required components of the ApexSDK for Unity:
Required Features
1. Standalone PixoVR Authentication – Authentication Documentation
Applications must authenticate users independently using ApexSDK::Login() before granting access to PixoVR services.
2. Authenticated Launch from the PIXO Hub – Authenticated Launch Documentation
Applications must also be able to securely launch from the PIXO Hub by accessing the user authentication token via the ApexSystem::PassedLoginToken property, which should then be passed to ApexSystem::LoginWithToken().
3. Return to Hub – Return to Hub Documentation
If an application was launched from the PIXO Hub, it must return users to the PIXO Hub on application exit using ApexSDK::ExitApplication(). In most cases, an empty string ("") should be passed to this function, in which case the SDK will automatically set returnTarget:string to the Hub App when appropriate.
4. Session Joined and Session Complete Events – Session Events Documentation
Applications must report the start of each session with ApexSystem::JoinSession() and the end of each session with ApexSystem::CompleteSession(). A session is each run through of a training scenario, not just the time spent within the application.
-
JoinSession() requires a scenario ID string and optionally accepts a context extension, which should include the current version number of the module.
-
CompleteSession() requires a session data object, and can accept custom data via optional context extension and result extension objects.
5. ManageXR Integration – ManageXR Integration Documentation
Applications must support ManageXR for centralized content deployment and device management.
Recommended: Additional Data Reporting
While not required, PixoVR strongly recommends tracking individual training steps using:
-
ApexSystem::SendSimpleSessionEvent() for basic event logging
-
ApexSystem::SendSessionEvent() for detailed event tracking
For full implementation details, refer to the ApexSDK – Unity documentation.
Additional SessionData Information
The following members are defined for the SessionData object, which must be included with CompleteSession():
- score:float – The final score the user achieved on the module.
- scaled:float – Usually score divided by max. The allowed range is -1 to 1.
- min:float – The lowest possible score in the module (usually 0).
- max:float – The highest possible score a user could achieve in your module
- duration:int – How long, in seconds, the session lasted.
- completed:bool – TRUE indicates the user made it all the way through to an expected completion point. FALSE indicates they quit early, usually through a menu option to quit or return to lobby.
- success:bool – TRUE indicates they achieved a high enough score or otherwise performed the necessary tasks to pass the module. FALSE indicates they did not.
Next Article: Authentication
Previous Article: Installation & Overview