Blocks: Level up!

Maintained by Picture of Frédéric Massart Frédéric Massart
Engage your students! Gamify your students' learning experience by allowing them to level up in their courses. #gamification #game
2455 sites
211 fans

Moodle  Version  Favourites  Say Thanks!

Looking for a dedicated corporate solution? Check out our partner Motrain.

Our website dedicated to Level up! is here.

Please support this plugin: add it to your favourites, star it on GitHub, or purchase the add-on!

What's new?

We are proud to announce Moodle Mobile app support. This feature is now available with Level up! Plus, the add-on for Level up!. Note that it requires Moodle 3.1, and the latest Moodle Mobile app.

Visit our website for more information on Level up! Plus.

Feature request and bug reports

Please report the issues you find, problems you experience or any feature request on the issue tracker. Thanks!


  • Automatically attributes points to students for their actions
  • Block that displays current level and progress towards next level
  • Report for teachers to get an overview of their students' levels
  • Notifications to congratulate students as they level up
  • A leaderboard to display the ranking of the students
  • Ability to customise the number of levels, the points they require and their appearance
  • Total control over the points earned per action
  • Unlock content when a certain level is reached
  • Experience points earned per course, or for the entire site

Level up ! Plus add-on features

Purchasing the Level up! Plus add-on unlocks these features:

  • Mobile app support
  • Activity completion support
  • Course completion support
  • Resilient cheat guard
  • Limit learners rewards in time frame
  • Additional default level badges
  • Substitute experience points for other symbols
  • Download the report
  • Email support

Visit our website for more information on Level up! Plus.

How are experience points calculated?

This block listens to events triggered in Moodle and captures some according to pre-defined rules. It then attributes experience points based on the information contained in the event. For more information about the events, refer to the documentation.

Only the users with the capability block/xp:earnxp can earn experience points. This capability is given by default to students. Also, actions triggered by guests, non-logged in users or administrators are ignored.

The following events are always ignored:

  • Events from another context than course or module
  • Events having another educational level than participating
  • Events flagged as anonymous, e.g. in an anonymous Feedback

The rest is up to you. By default, the plugin comes with a minimal set of rules to attribute experience points to actions, and to ignore some redundant ones. Visit the Rules page in the plugin itself to view or override them.

Note: Repeated actions within a short time interval are ignored to prevent cheating.

How to use one block for all courses?

In order to gather experience points from all the courses a student is participating in, you have to set the admin setting Where are experience points used? to 'For the whole site'. This setting is located under "Site administration > Plugins > Blocks > Level up! > General settings". Once set, any block newly or previously added will display the total experience points of your students.

How to unlock content at a certain level?

Install the availability plugin: Level up! Availability.


This plugin is part of sets Experience Points (XP), MoodleCloud, Gamification.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7


Picture of Frédéric Massart
Frédéric Massart (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Dnyaneshwar Somwanshi
    Wed, 6 Sep 2017, 2:41 AM
    When future version will be released. We are eagerly waiting.
  • Picture of Frédéric Massart
    Wed, 6 Sep 2017, 10:21 AM
    Thanks for your enthusiasm!

    Mobile support will be added to Plus very soon, we were tweeting about our progress yesterday:
  • Picture of László Pauer
    Wed, 6 Sep 2017, 7:21 PM
    I am trying to figure out how the cheat guard works. I have set the Time required between identical actions to 60 minutes, but when I do the same thing (wieving a book chapter) with a test user, I keep getting xp for it. Am I missing something, or diong something wrong?
  • Picture of Frédéric Massart
    Thu, 7 Sep 2017, 11:06 AM

    I have tried this on my side and it seems to work the way it was designed. In my tests, I could get experience points for each chapter, not repeatedly for the same chapter. If you would prefer rewarding your students for viewing the book, then I would suggest using the "Course module viewed" event instead.

    I hope this answers your question.

  • Picture of Dnyaneshwar Somwanshi
    Mon, 11 Sep 2017, 6:52 PM
    hello great work. how to access this feature on moodle mobile. i installed this plugin in my moodleweb. and addedblock to the course. what shoud i do next?
  • Picture of Frédéric Massart
    Mon, 11 Sep 2017, 6:55 PM
    Hi, Moodle Mobile supports requires "Level up! Plus" which is available for purchase on our website.
  • Picture of Carly Born
    Fri, 22 Sep 2017, 12:37 AM
    I'm wondering if anyone else has had trouble with this block adding points for actions on stealth activities? I have a course that is not awarding points for posts to a forum even though the rules are configured to do so. I'm not sure why it's not working, but I notice that the Logs in Level Up are not showing any of the actions that are defined in the rule set. And it occurs to me that this is the first time we're using this block with Stealth activities.
  • Picture of Sean Rugge
    Wed, 18 Oct 2017, 12:24 AM
    I was able to install the plugin and add a block to a course, but when I attempt to edit settings, access report, ladder or info of the block at the course level I get
    "Coding error detected, it must be fixed by a programmer: Controller for route not found."

    I get the same error when attempting to access the Default level, Default rules, and Default Visuals from the plugin settings from the Site Administration tree. Has anyone else encountered this issue?

    I am running Moodle 3.2
  • Picture of Frédéric Massart
    Wed, 18 Oct 2017, 12:31 AM
    Hi Sean,

    Something tells me that you are using Nginx. Please make sure that it is properly configured for Moodle use if that's the case. (
    If that's not the case, you could try to disable "slasharguments" in the Moodle admin settings.

    If Nginx is properly configured, or you are not using Nginx, please get in touch with me at level at branchup dot tech.

  • Picture of Eddie Whittingham
    Mon, 23 Oct 2017, 1:19 PM
    Good morning!

    Just a quick query - is it possible to link LevelUp to user profile pictures? It would be great to feature a way that users profile pictures can change as they progress through levels!

  • Picture of Frédéric Massart
    Mon, 23 Oct 2017, 1:27 PM
    Hi Eddie,

    That's an interesting request. I agree that it could be fun, except if all students have the same level, in which case it would be harder to distinguish who is who.

    Are you aware of Mootivated? They offer a gamification solution which allows students to create their own avatar, pretty neat! Check the out at

  • Picture of michell mejia
    Wed, 1 Nov 2017, 1:12 AM

    Can I add points directly to a user and show them in their points?
  • Picture of Frédéric Massart
    Wed, 1 Nov 2017, 11:00 AM
    Hi Michell. You can modify any user's points by clicking the cog icon in the report. At this point there is no other way to add or remove points to a user, though we are working on a feature allowing teachers do issue punctual rewards.
  • Picture of Shehzad Khan
    Sun, 3 Dec 2017, 5:23 PM
    Hi, Thank you for this amazing plugin. Is there a way to display the ladder in a block for all participants to see without having to click on the ladder link?
  • Picture of Frédéric Massart
    Sun, 3 Dec 2017, 6:28 PM
    Hi Shehzad,

    Not at this stage. Please raise an issue on Github if you feel strongly about this feature.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Please login to post comments