How to Upload SCORM Packages to Moodle – Settings That Matter

Uploading a course to Moodle takes about two minutes. Getting it to track correctly can take an afternoon if you skip the settings. The SCORM activity form has a lot of options, most with defaults that are fine, and a handful that decide, without any warning, whether learners get credit. Moodle SCORM questions come up constantly in eLearning forums, and the answer is usually one setting away. How do you upload a SCORM package to Moodle, and which settings actually matter?
To upload SCORM to Moodle, turn editing on in your course, add a SCORM package activity, upload the zip file, then set grading, attempts and completion before you save. The settings that matter most are the grading method (use Highest grade for a quiz score, not Learning objects), the number of attempts and how attempts are graded, the compatibility options such as Mastery score overrides status, and activity completion rules that match what your package reports. Publish as SCORM 1.2, since Moodle's own FAQ says only parts of the SCORM 2004 API are implemented. Always test as a student before learners see the course.
How Do You Upload a SCORM Package to Moodle?
Uploading takes a few clicks. Check two things first: the package is a zip with imsmanifest.xml at its root, and the file is smaller than your site's maximum upload size, which your Moodle administrator controls.
- Open your course and turn editing on.
- In the section where the course belongs, choose Add an activity or resource, then SCORM package.
- Give the activity a clear name. Learners will see it on the course page.
- In the Package section, drag your zip file into the Package file box.
- Work through the settings below before you click Save and display.
- Test the activity using a student test account, or switch your role to student.
Moodle's own SCORM activity documentation is the place to start, and it links to a full page describing every setting. Setting names can shift a little between Moodle versions, so check there if something below looks different on your site.
Which Moodle SCORM Settings Matter Most?
Five groups of settings affect tracking and grades. The rest mostly affect appearance. Here's where to focus.
Appearance: how the course opens
Display package lets you open the course in the current window or a new window. A new window gives the course more space but can be stopped by pop-up blockers, which is a classic source of "it launched but didn't track." If your learners use locked-down browsers, test both. While you're here, consider setting Student skip content structure page so learners go straight into a single-SCO course instead of seeing an extra entry screen.
Grade: what number goes in the gradebook
This is the setting I see misconfigured most. Grading method has four options:
| Grading method | What it records | Use it when |
|---|---|---|
| Learning objects | The number of SCOs completed or passed | Multi-SCO packages where you count finished lessons |
| Highest grade | The highest score reported by any SCO | Most single-SCO courses with a quiz score |
| Average grade | The average of SCO scores | Multi-SCO packages where each SCO is scored |
| Sum grade | All SCO scores added together | Rare cases where scores should accumulate |
If a single-SCO course is set to Learning objects, a learner who scored 92% gets a grade based on lessons finished rather than on that score, which for a one-SCO course means all or nothing. That surprises a lot of instructors. Choose Highest grade for most authored courses and set Maximum grade to match.
Attempts management: retakes and final grades
Number of attempts sets how many tries a learner gets, and Moodle applies it to SCORM 1.2 and AICC packages (SCORM 2004 packages carry their own attempt rules). Attempts grading decides which attempt counts: highest, average, first or last completed. Force new attempt controls whether relaunching starts fresh or resumes, and Lock after final attempt stops further launches once the limit is reached. For compliance training, a common combination is unlimited attempts, highest attempt counts, and no forced new attempt, so learners can resume where they left off.
Compatibility settings: the quiet troublemakers
- Mastery score overrides status: when the package includes a mastery score, Moodle sets passed or failed by comparing the raw score to it when the course finishes, overriding what the course sent. Turn it off if your course already reports its own status correctly.
- Force completed: forces the attempt status to completed, and it applies only to SCORM 1.2 packages. It can rescue an older SCORM 1.2 package that never sends completion, but it can also hide a real problem, so use it on purpose.
- Auto-continue: moves automatically to the next SCO when one closes. Helpful for multi-SCO packages, irrelevant for most single-SCO courses.
- Auto-commit: saves the package's data automatically shortly after values change, even if the course doesn't commit on its own. Worth turning on if learners lose progress.
Activity completion: what counts as done in the course
Moodle's completion rules sit on top of SCORM's status. You can require a view, a grade, a minimum score, a status of passed or completed, or that every SCO reports completion. Match the rule to your package. If your course publishes passed/failed, requiring a status of completed alone may never be satisfied.
What If the Upload Fails?
When Moodle rejects a package or the activity won't launch, the cause is almost always the file itself. Check these before anything else:
- The zip contains a folder with the course inside it, instead of the course files at the top level. Re-zip the contents, not the folder.
- The file is larger than the site's maximum upload size. Ask your administrator to raise the limit, or reduce video sizes in the course.
- The package isn't actually SCORM. Some tools publish HTML5 or xAPI by default, and those zips lack a SCORM manifest.
- The zip was created by a tool that adds hidden system files or uses unusual compression. Re-export from the authoring tool directly.
If the upload succeeds but the course shows a blank screen, try a different browser and check whether a pop-up blocker is involved before you start changing activity settings.
How Do You Test a SCORM Course in Moodle?
Test it as a student would, then look at what Moodle stored. Switch role to student, or better, use a separate test account so you see the real learner experience.

- Launch the course. Confirm it opens the way you expect.
- Go partway, close it with the browser, then relaunch. Confirm you resume in the right place.
- Finish and fail the quiz. Check the gradebook and the completion checkbox.
- Retake and pass. Check again.
- Open the activity's Reports tab as a teacher and review the attempt details and interactions.
If something's off, the Reports tab usually points to the cause, since it shows exactly which status and score each attempt reported.
Change one setting at a time and re-test with a fresh attempt. Changing three at once makes it impossible to tell which one fixed the problem.
Should You Use SCORM or LTI in Moodle?
Use SCORM when the course is a self-contained package you own and want to host inside Moodle. Use Learning Tools Interoperability (LTI), which Moodle supports through its external tool activity, when the content lives on another platform and should stay there, such as a publisher's content or a simulation service. The two solve different problems, and my explainer on LTI vs SCORM covers when each one fits.
Moodle itself is open source, so features and plugins vary by site. The Moodle community site is the best place to check plugins and forum discussions if your site behaves differently from the defaults described here.
Moodle SCORM Settings That Save You an Afternoon
Uploading Moodle SCORM packages is easy. Getting them right comes down to five areas: how the course opens, which grading method you pick, how attempts work, a few compatibility switches and completion rules that match what the package reports. Set those on purpose, test as a student, and most tracking problems never reach your learners.
Save your preferred settings as a short checklist for your team. The next hundred uploads will go much faster, and they'll all behave the same way.