OK this is pretty nerdy. Everyone gets excited about the possibility of using the incredible graphics and physics of gaming engines like Unity, by then they hit a reality wall.  How to get SCORM or xAPI data out of it. What did your learner do? It’s almost laughable to create a complex simulated world and then not be able to really observe users behavior in any meaningful way.

It’s actually super simple and once you sort it out the value of the Unity platform increases significantly.

Our project started with the following requirements:

    1. Engaging graphics and environment
    2. Good feedback to the user throughout the module
    3. Emit progress data to xAPI and SCORM and Mysql
    4. Track user mistakes
    5. Provide video in the simulation as a help resource
    6. Allow for a rules-based coach system to react to learner actions
    7. Conduct assessments at the end of the simulation

The Unity platform is fantastically rich, but not designed for this kind of project unless you want it to chug along like a 1980’s pc.

After some experimentation we developed the following simple approach:

The really big deal here is that Unity gets a break and has to do very little work to emit the data. The off-board data manager is responsible for onward transmission and reformats the data for the target system or systems. It also broadcasts real-time information and passes data to an external rules engine that can detect situations that require intervention and then send a signal to Unity to react to the user.


Step through the slides and you can see some of the features. Most notably the last slide is what was appearing on a browser received from the pusher. Below is a brief video of the environment.