Getting data out of Unity to an xAPI recipient

/, Metrics, Product Demo, Training, Videos, Virtual Reality/Getting data out of Unity to an xAPI recipient

Getting data out of Unity to an xAPI recipient

By |2019-01-09T15:53:07-04:00January 9th, 2019|Animation, Metrics, Product Demo, Training, Videos, Virtual Reality|4 Comments

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 reformating 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.

About the Author:

James is CEO and Chief Technologist at RCP Learning. He has spent the last ten years building a learning company based on computer science development principles. James is passionate about technology, the science of learning and the psychology of understanding. He is committed to delivering the best possible customer experience to every one of RCP Learning's clients. His favorite quote is "The universe is not made up of atoms, it is made up of individual stories." -- Anon.


  1. Dan Rider January 9, 2019 at 1:39 pm - Reply

    Easy huh? Not for us mere mortals. Looks pretty complicated, but very cool.

  2. FilipTheMan999 January 10, 2019 at 6:29 am - Reply

    Very cool idea. We are struggling to find a good platform for our simulations, in particular, one that supports xAPI. What is the average development time for a 10 minutes module? – Phil

  3. James Ringrose January 10, 2019 at 6:35 am - Reply

    Hi, Development times are quite a bit longer than Level 4 Storyline (complex with animations and interactions), but not by much. There’s not really such a thing as a 10-minute module. Some users will take a long time and some will dash throughout it. However, assuming an average time of 10 minutes to complete the scenario then you can count on at least 12 weeks of dev time for a medium complexity scenario. You can apply AGILE techniques and build a MVP (minimum viable product) fairly quickly.

  4. FilipTheMan999 January 10, 2019 at 6:40 am - Reply

    Thanks, good to know.

Leave A Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: