Level up! - Gamification 🏅

Blocks ::: block_xp
Maintained by Frédéric Massart ⭐
🔥 🤩 The easiest way to add gamification to your Moodle site! Engage your students! Gamify their learning experience by allowing them to level up in their courses. #gamification #game
Latest release:
8256 sites
483 fans
Current versions available: 2

Version   Moodle   Favourites   Since  

Visit our website at levelup.plus.

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

What's new?

With a focus on UX, here are some of the highlights of our recent releases.

  • Revamp user interface to setup the levels
  • Redesigned rule picker to include rule description
  • New rule to target an activity by name (Level up! Plus add-on required)
  • Downloadable logs (Level up! Plus add-on required)
  • See the latest release notes

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
  • Support for shortcodes to include in content
  • GDPR compliant

Level up ! Plus add-on features

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

  • Target an activity by name
  • Grade-based rewards
  • Team leaderboards
  • Activity completion support
  • Course completion support
  • Individual rewards
  • Mobile app support
  • Course selection rule
  • Resilient cheat guard
  • Limit learners rewards in time frame
  • Progress bar can display progress towards next or ultimate level
  • Additional default level badges
  • Substitute experience points for other symbols
  • Viewing the block on someone's profile displays their level
  • Import points from a CSV file
  • IOMAD support for the leaderboard and team leaderboard
  • Download the report
  • Download the logs
  • Email support

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

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 are experience points calculated?

Please refer to the Level up! documentation.

How to unlock content at a certain level?

Please refer to the Level up! documentation.

How to unlock a course at a certain level?

Please refer to the Level up! documentation.

Shortcodes supported

What are those? Shortcodes can be used in text editors throughout Moodle to include or modify the content. The plugin Shortcodes must be installed to enable them.

Level up! comes with shortcodes to display the learner's level badge, their progress bar, or even the leaderboard anywhere you like. Shortcodes can also be used to conditionally display content according to a learner's current level. For a list of available shortcodes and their documentation, please refer to Level up! documentation.

Provided by
Branch Up


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


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


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

Comments RSS


  • Wed, Apr 22, 2020, 7:13 PM
  • Tue, May 19, 2020, 6:38 PM
    Can I display the leaderboard for a specific activity or resource like a Quiz?
  • Tue, May 19, 2020, 6:58 PM
    Hi Sourish. No, this is not possible at this stage.
  • Tue, May 19, 2020, 7:56 PM
    Thank you Frédéric for the confirmation.
  • That's me
    Tue, May 19, 2020, 9:55 PM
    Hi! I have bought a solo version. Is there a possibility to award points for a quiz EVERY time a person submits it AND receives a passing grade. At the moment it can be done once only.

  • Wed, May 20, 2020, 11:23 AM
    Hi Alex. Thank you for your support. I'm afraid that it is not possible to repeat the rewards that are based on grades or completion. Please contact us at [levelup at branchup dot tech] if you wish to discuss your use case further.
  • Sat, May 30, 2020, 7:22 AM
    Hi,how to solve this kind of problem, when i want see the detail the message will be shown ,thanks!
    Coding error detected, it must be fixed by a programmer: Controller for route not found.
    More information about this error
  • Sat, May 30, 2020, 12:31 PM
    Hi, this is due to an incorrect configuration of your Moodle site. Please refer the following documentation page: https://levelup.plus/docs/article/error-controller-for-route-not-found
  • Sun, Jul 19, 2020, 8:38 AM
    I was trying to add the Level Up Block on the Dashboard,
    But when I select "Add a block" I can't see the level up option!!
    It's only available on the courses page.

    Is there's a way for me to display it on the dashboard ?
  • Mon, Jul 20, 2020, 11:23 AM
    Hi David. Yes, please see the plugin's admin settings and set the setting 'block_xp_context' to "For the whole site". More details in the description of the plugin above.
  • Thu, Jul 30, 2020, 11:22 PM
    Hi Frédéric,

    I'm setting up my Rules in a very granular way, activity by activity, because each one demands a very different amount of time and effort. I also want my students to earn points throughout the whole website. Considering this, can I centralize all the Rules in the Dashboard block, or should I create a XP block inside each course to avoid the system from crashing due to too many rules at the same place (in the end, it's going to be a little more than 1.000 activities/rules)?

    If possible, I would prefer to centralize all in one block in the Dashboard, to display less information inside each course and avoid cluttering.

    Thanks in advance for your attention!
  • Fri, Jul 31, 2020, 11:35 AM
    Hi Lucas,

    To answer simply, if you set the plugin "Per course", then students will start over in each course, at level 1, and they won't accumulate points a site-wide level. If you prefer your students to carry their experience from course to course, then you probably want to go site-wide.

    We have not heard from users setting thousands of rules before, and thus we do not know how it will behave. We suggest that you give it a go, and we can evaluate and improve the rules if things do not go as planned. Perhaps we can also work together to develop rules that combine several ones if that's help reduce the work/rules needed to achieve a similar result.
  • Fri, Jul 31, 2020, 8:06 PM
    Hi Frederic!

    Can we add support for "groupings" along with the current support for groups. I have a single course with multiple cohorts from different units sharing the same material and groupings would be of great help to provide tailored results!

  • Sat, Aug 1, 2020, 10:27 AM
    Hi Ray,

    Thank you for your suggestion. Would you please describe what content would benefit from supporting groupings? To our knowledge the leaderboards are using the standard Moodle features which should support groupings when needed. If you are referring to the "Team leaderboards" from Level up! Plus, the groups displayed are based off the default grouping in a course, is that for this one that you would like to see a better support for groupings?

    Thank you!
  • Tue, Aug 4, 2020, 12:04 AM
    Hi Frédéric,

    great, I will insert all of them inside the Dashboard XP block, see what happens, and let you know if anything goes wrong haha.

    But yes, there might be a way to create fewer rules, I just haven't found out how. In this case, the points will be awarded based on the number of pages in a Lesson and a multiplier factor. For example:

    - Lesson with 10 pages: 10 * 1 = 10 points;
    - Quiz about the above lesson: also 10 points;

    - Lesson summarizing 3 other lessons, one with 10 pages, the other with 14, and another with 16: 40 * 0.5 = 20 points
    - Quiz about this summary: same 20 points

    So each lesson page gives 1 point with a multiplier factor of 100%, and a summary lesson awards half the points of all lessons it's related to. I actually use different values, but you get the idea. Also, the points per page and the multiplier factors are constant throughout the courses.

    As you can see, it's easy to explain but hard to set up. However, it's the best way I've found so far to award students based on their effort, rather than giving the same amount of points for very different activities, or trying to keep all activities about the same size (which would lead to boredom and the content breaking up at weird places).

    (By the way, I'm not complaining about it, since it was my idea to increase the complexity instead of simplifying things. I'm just sharing the idea in case it's useful for you or someone else.)
Please login to post comments