Creating SCORM-based E-Learning Apps

Verge3D is a perfect tool to convert your 3D content made with Blender, 3ds Max, or Maya to immersive educational materials. With Verge3D you have a choice to create standalone e-learning apps or integrate e-learning content into the existing learning management systems (LMS). To simplify the later task, we developed and included the SCORM tools right in our software.

For usage example, check out the E-learning demo (also available in the Asset Store).


As of today, SCORM is the most widely used standard for creating e-learning content which is supported by many (if not the most) LMS. Put simply, it is a de facto standard in the e-learning industry.

SCORM is also excellent for creating interactive e-learning materials in 3D because:

In Verge3D we implemented the most popular version of SCORM - 1.2. Supporting SCORM 2004 is under consideration.

Creating SCORM Course

Verge3D App Manager comes with a built-in SCORM generator. Just click on the following icon:

Button to create SCORM courses with Verge3D

Then select course name, course ID and default course item name in the Create SCORM Course Package dialog:

SCORM course creation settings

Once created, download the ZIP archive with the SCORM course to a directory of your choice.

Running your course in LMS

The course package can be uploaded to any LMS compatible with SCORM 1.2. If not sure, choose one of the following:

If you're creating content for an educational institution, consult with their technical staff for instructions on running your SCORM package.

In this guide we'll be using a SCORM Cloud to illustrate the task of uploading and running the SCORM course.

Login to your SCORM Cloud account and click on the Add Content button in the top right corner, then select Import a SCORM, AICC, xAPI or cmi5 package:

Adding content to SCORM Cloud

Click Browse, select the course ZIP, then press the Import Course button:

Importing ZIP to SCORM Cloud

Wait for upload to complete, check that no errors happened during that process, then click Launch located on the Course Sandbox panel:

Lauch course on SCORM Cloud

Enjoy the course:

Industrial Robot running on SCORM Cloud

When you're done, simply close the popup window to return back to the SCORM Cloud course configuration page.

SCORM Cloud course configuration

Note that we've got the completely meaningless statuses on that page. To make the LMS record our progress we need to use the SCORM API. Thankfully, Verge3D includes easy-to-use puzzles to make things as simple as possible.

Using Puzzles

The minimal set of features we need to implement in a SCORM pack would be:

The puzzles implementing this are simple:

Logic to customize SCORM course

The lms finish puzzle executed in the beforeunload event handler (fired when the page closes). This is a good practice since we may do more communication with the LMS during app run time.

In many cases, reporting the lesson status is not sufficient. You might need to track achievements of the students as well. For this, store a score value to the cmi.core.score.raw element:

Setting course progress in SCORM

We used optional lms commit puzzle in this snippet to improve UI responsiveness of the LMS.

See E-Learning/SCORM plugin reference for more info on how to use the SCORM puzzles in your learning apps.

Creating courses with multiple pages

You can use multiple web pages (hence multiple 3D apps) in the same SCORM pack. However, we don't recommend this method since it will make things quite complicated.

Instead, there is the pack add item puzzle to add page-like items to the course. To make your app respond to the selected item, use the pack get item ID puzzle. For example:

Creating multi-page courses with puzzles

Download the example project here.

Make sure you set proper lesson status for each pack item even if you have no questions/quiz there (in this case just set the cmi.core.lesson_status element to passed once the user has loaded the page).

Got Questions?

Feel free to ask on the forums!