Creating a lesson menu that indicates when a lesson is complete

Does anyone know how to create a trigger on a slide that is in one scene to affect a layer in a slide on a different scene?

I am creating several different scenes for a course. I would like to have my lesson menu on one scene and each lesson in their own scenes. At the point the user completes a lesson and clicks the next button (custom button, not preset) I have it set up so it triggers to jump to the main lesson menu at which point the user can select a different lesson.

Is there a way without creating multiple lesson menus that when the next button is selected on the final slide of a scene that not only will it jump the user to the main menu but will also trigger a layer on the main lesson menu so I can create some sort of lesson complete indicator (check mark , gray out lesson, etc.) in the layer for the user to see what lessons they have completed?

17 Replies
Michael Hinze

Hi Sean, welcome to the community. See attached file with a menu that connects to 7 sections/lessons. At the end of each section, a variable is set to indicate completion of the section before jumping back to the main menu. Back at the main menu, the menu buttons' states are changed to visually indicate completion, based on the value of the variables. Once all 7 sections have been completed, a feedback message and summary screen are displayed. This may not be exactly what you want, but hopefully it gives you some ideas.

Zeeee Veee

Hi Sean,


Great work! Just one query. Can you please explain the rationale behind the trigger used? I mean you have used : Change state of> Button 1> Visited> Timeline starts> Explore screen: 

On Condition: Topic01Complete==Equal to True


does that mean that as soon as the learner visits the branch page the state of the button on the menu page should change?




Walt Hamilton

No, the branch page cannot change the state of a button on another page. What it does is change the value of the variable. The state only changes when the learner returns to the menu page. The state changes when the menu page timeline starts if the variable has been changed.

By the way, this is an old post, and I know from more recent posts that Michael has changed his approach. He no longer changes the button state to Visited. That is because Visited is a built-in state, and has its own built-in triggers.  You can have unpleasant conflicts if you write triggers that cause built-in states to take actions other than the built-in actions. The best way is to create a custom (bespoke) state. It will do the same things the visited state does in this example, but since it has a different name, it will not conflict with the built-in actions.

Ashley Terwilliger-Pollard

Hi Chetana,

This thread is a bit older, so I'm not sure that Sean is still subscribed. I hesitate to guess at his rationale, but would imagine the trigger is set up as such based on the user completing the entire topic - not just clicking on the button to go to that topic. As the built in visited state would consider it visited once the user has clicked on it as described here. 

Sean Dugger

Hello Chetana,

It has been a while, but if memory serves the goal was to have a menu driven course that when the learner gets to the last slide in a lesson a variable is changed from false to true at the start of the time line on the last slide (EX: lesson1Complete = true). When the user clicks next or goes back to the menu a completed state (created and customized by the course developer in the states area) is displayed on the topic button. In the menu slide there would be a trigger to change the state to Completed if lesson1Complete = true. 

Patty Maher

Hi  - I have a related question. I've set up a menu similar to this. There are five modules. The user clicks a button to to access each module. All buttons except the first are disabled when the menu appears. When they finish the first module, the button for the second module changes to "normal" state (red), making it selectable. The first module changes to a "done" state (blue.) My question: how do I retain either the "done" or "normal" state setting?  When the users finish the course, the buttons are all "done," and still selectable.  But if if you start it again, the buttons revert to the disabled state, so the users can't go back to the content to reference one module without having to retake all the previous modules. I'd like them to be able to revisit any module in any order for reference purposes once they've gone through the course sequentially.  Sorry for the long explanation. I'd appreciate any help you can give!

Wendy Farmer

Hi Patty

I can't see the issue - I published the file and viewed via Chrome - I finished the Warm UP and Educate sections then closed the browser and went back in and it resumed where I had left off and took me to start the next section. 

Are you testing in the environment where users will see it - either on a webserver or in an LMS? 

Patty Maher

Thanks so much for testing!. The issue is that once all the modules are completed, I want the course to keep them completed so users can return and access any module without having to retake the earlier ones. That way the course can serve as a reference afterward. But when you reopen the course after completing, it resets and you have to go through sequentially. Maybe I'm trying to do something that can't be done?

Patty Maher

It prompts to resume, which is the setting I selected. I made a few adjustments in Moodle, and now it seems to work the way I want, as long as a user who has already completed the course chooses to resume, rather than start over when they open it again for reference purposes. We'll see if it works okay for users. Thanks for the help.