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


  • Mon, Aug 31, 2020, 10:35 PM
    Hi Frédéric

    Can I add multiple level up blocks to one course?
  • Tue, Sep 1, 2020, 9:09 AM
    Hi Jukka. No, this is not possible at this point.
  • Thu, Sep 10, 2020, 12:32 AM
    Can points earned from the LevelUp plugin be used to purchase rewards? We would like to set up a system where users earn points for various activities throughout the courses and then can visit a bookstore and redeem merchandise for the points they have earned.
  • Thu, Sep 10, 2020, 12:50 AM
    Hi Courtney. No, it cannot, but the good news is that there is a plugin that allows just that. Please search for Mootivated (https://moodle.org/plugins/local_mootivated) or visit them at motrain.com.
  • Profile picture of Harald Jakobs
    Fri, Oct 23, 2020, 10:01 PM
    Hi all!

    We are currently testing Level Up in some pilot courses on our system. A problem has occurred for which we have no explanation or solution. Maybe someone here can help me with this.

    Students should get 10xp in a course for clicking a H5P element and a file. The rules are therefore:

    10xp if at least one condition is fulfilled: H5P - course module displayed
    10xp, if at least one condition is fulfilled: File - Course module displayed

    To avoid that repeated clicks do count several times, the instructor has set as rules for the Cheat Guard:

    max. 1 action per 5 minutes
    999999 minutes interval between two identical actions

    However, the students seem to get points for each click on the H5P element and the file. What could be the reason for this? Is it linked to sessions? Although, if you take a look at the logs you can see that some actions are spread over several days, but others are within the usual session time (4 hours). If the users haven't logged out themselves, this should not be the reason.

    Or is the value 999999 too high, i.e. the block cannot process this and an internal max. limit applies here? Because actually only the plus version should be helpful for longer periods of time: "This cheat guard is not designed to cover long time frames. Please consider upgrading to Level up! Plus to unlock greater time frames and other features".

    The Level Up documentary does not really help. It just says "Note: it happens that Moodle's event definition tricks Level up! into thinking that two actions are not identical. If you notice that some events are not being caught by the cheat guard, you may want to add a specific rules to ignore them." But what kind of rule this should be is not clear to me.

    Maybe someone can point me to the solution?

    Kind regards
  • Sun, Oct 25, 2020, 11:17 AM
    Hi Harald,

    The cheat guard in the free version is meant to prevent abuse, but it's not robust enough to prevent repetitions. It keeps track of a set of previously taken actions in a queue, first in, last out. When the queue gets to a certain size, it discards the last elements for performance and memory consumption reasons. From that point, previous actions may award points again. The reason why the time frame unit cannot be set beyond "minutes" is because it's not meant to cover long time frames, as it won't produce the desired effects. The message you are seeing is displayed for that exact reason.

    We are voluntarily obscure on the exact mechanics of the cheat guard in the free version as to not publicly disclose how to abuse the system.

    The note "it happens that Moodle's event definition tricks Level up! into thinking that two actions are not identical." is related to how Moodle core developers have created and/or used the events that the plugin observes. Each event comes with a set of properties that the plugin relies on, it may happen that these properties are too vague and thus _Level up!_ may treat two separate actions as identical. On the other hand, it happens that somes properties are too specific, and thus what we (humans) would consider identical is not perceived by the plugin as identical. This would only be a concern if you noted that specific events were counted more then usual, or not when they should have been. Both cases only apply to repetitions, or lack there of, of events with the exact same name.

    Kind regards,
  • Tue, Oct 27, 2020, 5:24 PM
    Hello All!

    Is there a small HTML code snippet, which will display the current user's actual star level? I am doing a little customization and just want to add the current star to the sidebar.
  • Tue, Oct 27, 2020, 5:29 PM
    Hi David,

    Yes, you can use the shortcode "xpbadge" (see here: https://levelup.plus/docs/article/using-shortcodes), alternatively here are some functions that you may find useful: https://gist.github.com/FMCorz/2e6d29c8dda5ec9d6d6c349d6b2e8528

    Kind regards,
  • Sat, Nov 7, 2020, 5:38 AM
    Hi everybody!!!
    This is an amazing plugin but i have one question. Is it possible to set level up only when a student completes the quiz and not when he enters? thanks
  • Sat, Nov 7, 2020, 10:09 AM
    Hi Tommaso. The Level up! Plus, you can award points for completing the activity, whether a quiz or another one. Without Level up! Plus, you would have to observe the events "attempt_submitted", however in the latter case every attempt will award points.
  • Fri, Nov 20, 2020, 5:59 PM
    Hi Fréderic, thank you for all.
    Is it possible that only the names of the students appear in the ranking? Now the surname also appears.
    Thank you
  • Sat, Nov 21, 2020, 10:13 AM
    Hi Pablo, at present there are two options for the names. Either make the whole leaderboard anonymous is Level up!, or use the Moodle setting to define how names are displayed to users: https://docs.moodle.org/en/Additional_name_fields#Full_name_format Level up! does not currently offer additional options then those.
  • Wed, Dec 16, 2020, 5:18 PM
    Hello Frederic,
    We are considering purchasing this plugin for moodle and have been fiddling around with the free version.
    I have two inquiries :
    1- In the pro version, how exactly does the grade based reward work, how are the rules set, do I set experience points for a specific grade range on a specific activity?
    2- How does the Levelup plugin work with Moodle lessons,
    I would like to give students exp points when finishing a specific percentage of the lesson ( like when a student finishes 20% of lesson give him 20exp, 50% give him 50exp etc... )

    And lastly I want to try the pro version before purchasing, is there a demo version or something that I can test it on ?

    Thanks in Advance,
  • Thu, Dec 17, 2020, 10:28 AM
    Hi Lina,

    1/ The grade-rules are a 1 to 1 relationship between the grade received and the points given. If a student gets a grade of 80, they get 80 points. Yes, uou can target specific grade items (activities). More on this here: https://levelup.plus/docs/article/grade-based-rewards

    2/ Level up! observes the completion state provided by Moodle itself, which is either completed or not. At present it is not capable of awarding students based on the completion level of a Lesson module.

    Please email us at support at levelup.plus, we will email you a demo access.

    Thank you!
  • Mon, Dec 21, 2020, 6:32 PM
    Hi Frédéric ,

    I always make good use of it. Thank you.

    I'm using Moodle 3.9.
    In one course I put it in, the gear marks in the block editor disappeared and I couldn't move or hide places.
    In the other courses, the gear marks are still there.

    Can you think of any possible causes?

    Mami Mori
Please login to post comments