Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Unity to a SCORM

Discussion in 'Multiplayer' started by adieppa, Aug 4, 2011.

  1. adieppa

    adieppa

    Joined:
    Aug 4, 2011
    Posts:
    1
    Hello,

    The company I work for is new to Unity and we are attempting to implement Unity into e-Learning. We are working with SCORM, so we need to figure out how to have both Unity and SCORM pass information to one another. Any help anyone can provide will be greatly appreciated.
     
  2. phasm

    phasm

    Joined:
    Aug 4, 2011
    Posts:
    5
    SCORM does not actually pass information. SCORM itself stands for Shareable Content Object Reference Model, so it is in fact just a model and not a language. You can pass information to a SCORM run-time environment in any browser, from Unity, by using the Application.ExternalCall function. So, you just have to setup that run-time environment external to Unity and then introduce Unity into the environment. The SCORM API does the majority of the work for you.
     
  3. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    I'm interested in this also. Anyone have a super simple example that shows how this works with Unity?
     
  4. phasm

    phasm

    Joined:
    Aug 4, 2011
    Posts:
    5
    Do you have an LMS or suitable SCORM-compliant RTE for testing out your SCORM packages?
     
  5. justinlloyd

    justinlloyd

    Joined:
    Aug 5, 2010
    Posts:
    1,680
    I am currently building a serious game for medical training on the Unity platform that will talk to a SCORM-compliant backend LMS/LCMS. Solve your LMS/LCMS issue first, the rest is "easy." Unity will happily talk to whatever system you use on the backend with just a little elbow grease.
     
  6. phasm

    phasm

    Joined:
    Aug 4, 2011
    Posts:
    5
  7. danreid70

    danreid70

    Joined:
    Aug 28, 2010
    Posts:
    225
    I created a Unity-SCORM communitcator here that I haven't gotten back to work on in awhile, but essentially all you need to do is have your SCORM API javascript attached to the webplayer, and set up the javascripts to communicate into and from Unity, and it's pretty slick. Just built the few simple functions to communicate with SCORM 1.2 API, and it was working flawlessly. Next steps: add some quiz tokens or activities to update and send SCORE info back to the LMS.
     
  8. wkmccoy

    wkmccoy

    Joined:
    Jul 6, 2010
    Posts:
    29
    I work with SCORM allot, as we use SAP LMS. Currently we use SCORM 1.2 and we use the Flash SCORM API that is exported when you publish under SCORM 1.2. The JavaScript that is published works well for us with Flash, we have done a bit of customizing to make it work as we need for SAP, but overal it's pretty stock. I am working to keep our methods the same, so that I can use the Javascript that we for flash, so we don't have to re-invent the wheel.

    Currently I only plan on a few things such as session time, lesson data and maybe a score, as some of the lessons or training we do is assessment based.
     
  9. phasm

    phasm

    Joined:
    Aug 4, 2011
    Posts:
    5
    We've had the SCORM implementation working for quite some time now, and to be honest it is a big pain. This is partially because of cross-domain scripting issues and also because of the necessity to initiate the SCORM API to capture session data. If you're familiar with the SCORM standard then you might also be familiar with Mike Rusticci. He was hired by ADL to do R&D and consulting as to what the next iteration of SCORM should be and how it should function. His R&D has resulted in the Tin Can API. I think this is great news for those trying to use Unity for education, training, and simulation.

    http://scorm.com/blog/2011/09/project-update-tin-can-is-ready/
     
  10. justinlloyd

    justinlloyd

    Joined:
    Aug 5, 2010
    Posts:
    1,680

    How is the SAP LMS working out for you? Can you discuss in public or PM me? Would really appreciate an info dump if you have a few minutes. Phone call is also okay. We're in the process of looking at new LMS and LCMS systems for medical training and moving away from our current solution so people who are actually familiar with and using the systems is always a better information source than the vendor's sales guy. :)
     
  11. ronatartifact

    ronatartifact

    Joined:
    Nov 14, 2011
    Posts:
    1
    We are new to Unity but have a lot of SCORM experience. Our company participated in the Project TinCan as interviewees because of our interest in SCORM and simulation.
    We have a lot of experience building applications in ActionScript and Haxe as well as portal development in Java with Spring,Hibernate and Jetspeed.
    We also know a bit about Poser, Daz and Blender.
    We also sell, implement and support the Saba LMS and suite of products(*** Commercial Disclaimer ***).

    Is there anyone interested in sharing ideas and actual experience with Unity and the TinCan API?
    I would be interested in sharing simple prototypes or proof of concept simulations that can be used later to build actual simulations.

    We are not very useful on the Unity side but are pretty good at SCORM and JavaScript.
     
  12. Tross

    Tross

    Joined:
    Apr 15, 2009
    Posts:
    22
  13. jjamison

    jjamison

    Joined:
    Aug 10, 2012
    Posts:
    6
    Does anyone know where to find the ScormIntegrationKit.unitypackage plugin? The quickstart guide and ADL say it should be in the Asset Store, but I've not found it yet...maybe it's me....

    Thanks,

    John
     
  14. Dragonhill

    Dragonhill

    Joined:
    Jun 2, 2010
    Posts:
    22
  15. cybercussion

    cybercussion

    Joined:
    Mar 16, 2013
    Posts:
    1
    Hi,
    So one main issue I see attempting to communicate with Application.ExternalCall("function", "value"); is you don't get a result/response from this API call. In this SCORM situation you'd be ok setting values, but getting them Unity doesn't seem to allow it to return a result. Due to this, you'd have to create a hook to call u.getUnity().SendMessage("callback", response); to push values back into Unity.

    SCORM is a mix of Packaging, Sequencing and a line of communication. The LMS Runtime is controlling what read/write access privileges you have to the student runtime. I cover this a bit on my github project located - here

    I've written a project for JavaScript and Flash called SCOBot. It covers most the bits and pieces of the standard you normally get stuck maintaining. Mainly because SCORM is hundreds of pages of white papers, most are turned off by this.

    Some situations you may just do what a few people do and "auto score" the student. In more rich situations though, you'd track objectives, interactions etc ... may even have bookmarks or want to suspend/resume. Either way its up to the project, and how much of the standard/specification you want to use.

    Due to this I've started to write something Unity Developers can use, but I ran into similar "uh oh" moments when I realized Application.ExternalCall doesn't work like Flash's ExternalInterface. Not being able to pass objects, arrays or more loaded arguments leave us actually back to the way SCORM natively works... Strings. So because of the nature of Unity as it stands right now, my SCOBot portions need to be written within Unity's native code so they can use my client SCORM_API logic to talk to the LMS.

    But I think for just simple stuff all you're really looking at is making calls like:
    (please bare-in-mind you'd have a JavaScript SCORM portion in your WebPlayer)
    Application.ExternalCall("scorm.Initialize");
    Application.ExternalCall("scorm.SetValue", "cmi.completion_status", "completed");
    Application.ExternalCall("scorm.SetValue", "cmi.success_status", "passed");
    Application.ExternalCall("scorm.SetValue", "cmi.score.scaled", "1");
    Application.ExternalCall("scorm.Commit");
    Application.ExternalCall("scorm.Terminate");

    Again, very simple just "success" or "autoscore" type stuff. You're obviously not tracking session time or other things.

    As others may of stated TinCan is more of a Learner Record Store or LRS which is supposed to be the next version of SCORM you could consider. You would be rather posting against a 'endpoint' or server vs. attempting to talk to JavaScript.

    I'll ping back if I put a package together successfully.

    Thanks,
    Mark
     
  16. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    I'm looking for info on how to interface my Unity webplayer game to a TinCan based LMS. From what I've read it should be considerably easier than using SCORM but I've not found any examples to help me get started. Anyone else working on something similar?
     
  17. Dj_Zuczyslaw

    Dj_Zuczyslaw

    Joined:
    Mar 20, 2014
    Posts:
    31
    Look here : http://www.adlnet.gov/unity-scorm-quick-start-guide/
    There is even information, where to download unity package :D.
    Edit:

    I found those links:
    SCORM - Unity Integration Source:
    http://www.adlnet.gov/resources/scorm-unity-integration-installer?type=software_downloads

    SCORM - Unity Integration Kit
    http://www.adlnet.gov/resources/scorm-unity-integration-kit?type=software_downloads

    Cheers!
    Info from this site:
     
    Last edited: Aug 21, 2014
  18. radler470

    radler470

    Joined:
    Dec 3, 2014
    Posts:
    86
    I know this thread is super old, but found it via Google. These links don't seem to work any more, do you have other resources?
     
  19. justinlloyd

    justinlloyd

    Joined:
    Aug 5, 2010
    Posts:
    1,680
    In Professor Farnsworth's voice: "Ohhh, if only someone had invented a technology that would allow us to find information on this new fangled invention called the Information Super Highway. Perhaps it could even help us find information that might have moved from one location to another. But noooo. That's a preposterous idea. Besides, if the person who was asking the question knew about the technology, surely they would know how to use the technology and wouldn't have lost the information in the first place."

    You found this forum thread via a Google search, which has moved address since the forums got moved but couldn't find the information pages for Unity and SCORM that moved on the ADLNET server yet "unity scorm" gives the first three links to the actual ADLNet.gov pages that still exist? I don't even...
     
    Last edited: Jan 19, 2015
  20. bdovaz

    bdovaz

    Joined:
    Dec 10, 2011
    Posts:
    1,042