Autocomplete Lessons & Topics

Important Note

For this module to function correctly, lessons must be associated with a course, and topics must be associated with both a lesson and a course. Autocompletion will also be disabled for any lessons or topics that include modules uploaded using our Tin Canny plugin.


The Autocomplete Lessons & Topics module is part of the Pro Suite of modules for the Uncanny LearnDash Toolkit. It lets you control whether or not to automatically mark LearnDash lessons and topics as completed on page load. When autocompletion is enabled, the standard Mark Complete button does not appear.  There are some situations in which a lesson/topic will not be autocompleted on page load.  These include:

  • The lesson/topic includes an incomplete assignment
  • The lesson/topic contains one or more incomplete quizzes
  • The lesson includes incomplete topics
  • The lesson/topic has a timer enabled
  • The lesson is being dripped (or Group Dripped) and is not yet available
  • The lesson/topic contains a Gravity Form and the Autocomplete lessons & topics on Gravity Form Submission module is enabled

Note: When a user completes the last topic in a lesson with autocompletion enabled, they will be returned to the lesson for that topic, not moved to the next lesson. Upon landing on the lesson page, it will be automatically marked complete.

Live Demo

See this module in action on our LearnDash demo site!

Global Setting

When you first enable this module, “Enable auto-completion for all lessons and topics” is turned on by default. This means that visiting all lessons and topics that haven’t yet been completed will automatically complete them. There is also a global setting to disable autocompletion across the site.

In both cases, the global setting can be overridden at the lesson and topic levels.

Lesson/Topic Override

You can override the global setting at the lesson or topic level by choosing one of the following options from the “Auto Complete” drop-down menu on the Edit screen of the associated lesson or topic:

  • Disabled: No autocompletion on page load (i.e., the user will see the Mark Complete button)
  • Enabled: Lesson/topic will be autocompleted on page load
  • Use Global Setting (default): Inherit the global setting

Please note that topics do not inherit the autocompletion settings of the lesson. In other words, if the global setting disables autocompletion, but a lesson has autocompletion enabled, the topics under that lesson will not be completed automatically. Similarly, overrides set on the topics don’t roll up to their lesson.

The Done Button

When autocompletion is enabled, we add a Done button automatically to the last incomplete lesson or topic of a course so that learners cannot be stranded on the page with no way to navigate elsewhere (as would be the case if the last topic, for example, is the only topic in the lesson). This button acts as a final Mark Complete button and will trigger course completion.

Here are a few notes about the behavior of this button in different situations:

  • The Done button no longer appears after the course has been completed.
  • If linear progression is enabled, the Done button in the last topic of a lesson will automatically advance the user to the next lesson.
  • If free form progression is enabled, the Done button in the last topic of a lesson will return the user to the lesson page.
18 replies
  1. Andrew
    Andrew says:

    When a lesson is complete, is there a way to display something to the learner so that they know they have completed the lesson?

    I tried to see if this shortcode existed, but it doesn’t seem to work: [lesson_complete ] content [/lesson_complete]

    • Ken Young
      Ken Young says:

      Unfortunately LearnDash doesn’t offer anything like that currently. Typically users will need to look at the sidebar to see their completion status, or if they complete a lesson and revisit it, they should see a Next Lesson > link at the bottom of the page, which indicates they can move on to the next lesson.

  2. Will
    Will says:

    Hello, my client wants to have their course for purchase online and also to give it to customers who attend the same course in person. For the online version, all lessons must be completed sequentially. For the free course given to physical students, all lessons are autocompleted complete, and the user can move to any lesson freely. Is there a way I can do this with autocomplete to differentiate between the online purchasers and the live event attendees? Thank you

    • Ken Young
      Ken Young says:

      This module can’t differentiate between learners; either it’s either on or off for everyone. For the scenario you’ve described, I would recommend creating two separate courses using LearnDash’s “Shared Course Steps” feature, and checking “Disable lesson progression” on the version for the students who attended the live class.

  3. Desmond
    Desmond says:

    Hello, is there a way to turn of the completion function for just one course i have multiple courses but my client wants to have 1 course where the “students” can roam free between lessons and the other ones they have to follow sequentially is there a way to do that ?

    • Ryan
      Ryan says:

      It sounds like you just need to change the toggle for “Disable Lesson Progression” setting on the course edit page for courses that are exceptions. Autocompletion wouldn’t be a factor (though it can be controlled at the lesson/topic level if you want to).

  4. Stan
    Stan says:

    Hi, I want to purchase your product, but I cannot find the functionality that interests me.
    If I describe it to you, can you tell if I can use it? I tried the demo version and it was not there.

    I suggest we use a course-finish as the trigger. Is that possible?

    Just to be clear – from a user/front-end perspective:

    We want to offer the user the possibility to “skip” certain courses by taking a quiz (“placement test”)

    So, say the user thinks course 1, 2 and 3 are too simple for him.

    There is a “placement test” available after course 3. The user can select this.

    He takes the quiz, passes it.

    Course 1, 2 and 3 and all their lessons are then marked as completed, so he can proceed to course 4.


  5. Mark Howard
    Mark Howard says:

    I am having an issue where the autocomplete function is working when the user restrictions are enabled. Is there a way to incorporate autocomplete when a topic is restricted for a user?

    • Ryan
      Ryan says:

      Hi Mark, definitely log a ticket if you’re having trouble with this, but it would help to know how you’re restricting access to the topic. Our module shouldn’t autocomplete it if the restriction is on the LearnDash side, but if you’re using something else, it’s possible that they’re loading part of the post (and triggering our autocompletion) before redirecting the user.

  6. Krisz Simonfalvi
    Krisz Simonfalvi says:

    Is there an option to automatically mark a Topic complete once the user has viewed the video in it (or a percentage of it)? I don’t want a Topic to be marked complete once the user lands on the segment. Thanks!

  7. Alan
    Alan says:

    Thank you very much for answering the questions, excellent support. Question is there a way when a video ends automatically go to the next lesson

    • Ryan
      Ryan says:

      Hi Alan,

      As a general rule, assume that there is no way to advance on video completion out of the box. There are possible workarounds, like if you use Presto Player for the video player and Uncanny Automator, you could set up recipes to advance the user, or if the video were wrapped in an xAPI module (e.g. Storyline) that can pass a verb, our Tin Canny plugin could advance the user on completion. These are pretty advanced and cumbersome though, so the safer answer (without a custom solution) is that we unfortunately can’t support it.

  8. Paul
    Paul says:

    Hi guys, we need a solution for auto-completing a topic when a Vimeo video reaches the end – is this possible please? Thank you. Paul

    • Ryan
      Ryan says:

      Hi Paul, this unfortunately isn’t something that we support right now. We’ll consider it for a future release though.

      You would probably have some options here with Grassblade and its video tracking features, and with Automator and Presto Player you could build in a lot of rules for autocompletion, but it would be very cumbersome.

    • Ryan
      Ryan says:

      Hi Evelyne, maybe you can open a ticket with more details about what you’d like to do and we can provide feedback about how to achieve it.



Please note that this is not a support forum. If you are experiencing issues on your site, please open a support ticket instead. Site-specific support questions submitted as comments will be unanswered.

Leave a Reply

Your email address will not be published. Required fields are marked *