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:
8451 sites
491 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


  • Thu, Jul 16, 2015, 9:53 PM
    Dear Frédéric,

    Really useful plugin, thanks for the great work! I would like to use the plugin across courses, so system-wide, where users accumulate experience across courses. Is that now already possible? If not, any pointers on how hard it is to adapt? Otherwise I might try to adapt it myself, if that helps.


  • Fri, Jul 17, 2015, 2:30 PM
    Hi Frank,

    thanks. Someone else already enquired about this, an issue was raised to discuss/implement that feature. May I ask you to read through it and add your comments? https://github.com/FMCorz/moodle-block_xp/issues/14

    Many thanks!
  • Tue, Aug 11, 2015, 11:48 AM
    HI Fred,

    Works great and students really get into it. Any chance of adding a group option in the report section to filter out other students?

    Thanks Chris
  • Tue, Aug 11, 2015, 2:04 PM
    Thanks Chris.

    It's part of my todo list, I raised this issue to remember it: https://github.com/FMCorz/moodle-block_xp/issues/21

  • Fri, Sep 11, 2015, 8:48 PM
    New version 2.0 released!

    Amongst other things, you can now use one block for the all site and add rules based on activities.

  • Mon, Sep 14, 2015, 6:51 PM
    Please check and tell me if there is any bug in rules section because I can't see a rules section in block settings just giving me a blank page.
  • Mon, Sep 14, 2015, 6:54 PM
    Hi Mike,

    I am afraid that I cannot reproduce this bug. Could you please ask your administrator to inspect the logs for eventual errors, and then raise an issue here https://github.com/FMCorz/moodle-block_xp/issues ?

  • Mon, Sep 14, 2015, 7:46 PM
    Thanks, a lot, Man! It's working just fine
    Only one problem that a student is not able to see it on the dashboard.
    Is it a bug?
    any suggestion
  • Tue, Sep 15, 2015, 11:49 AM
    I have had a few people reporting this, I am not sure how to track it down. Could you check the permissions of your students? Maybe it's just a setting that you need to turn on in the "Settings" tab.
  • Fri, Sep 18, 2015, 5:42 PM
    congratulations for this nice plugin!

    I use it on Moodle 2.7.
    I have an error, but I'm not sure that a Level Up "bug".
    On the "Report" target there is a "Reset course data" button.
    When I clic on this button and on the following page I clic on "Continue" I obtain an error message : "Error writing to database" (see also the debug mode message below).

    Any suggestion ?

    The debug mod message:
    Debug info: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'b WHERE b.courseid = '1'' at line 1
    DELETE FROM mdl_block_xp b WHERE b.courseid = ?
    [array (
    0 => 1,
    Error code: dmlwriteexception
    Stack trace:

    line 446 of \lib\dml\moodle_database.php: dml_write_exception thrown
    line 974 of \lib\dml\mysqli_native_moodle_database.php: call to moodle_database->query_end()
    line 639 of \blocks\xp\classes\manager.php: call to mysqli_native_moodle_database->execute()
    line 63 of \blocks\xp\report.php: call to block_xp_manager->reset_data()

  • Fri, Sep 18, 2015, 5:47 PM
    Thanks for reporting this Jacques. I have raised the issue here: https://github.com/FMCorz/moodle-block_xp/issues/28
  • Fri, Sep 18, 2015, 6:13 PM
    Thanks Frederic.
    I write in your control, it's possible by pass this by a direct data base deleting:
    - table mmdl_block_xp_log for the logs,
    - table mdl_block_xp for the reports and the ladders.
    With a good SQL request, it's possible to filter by user, by course.
    But it's a solution for and administrator wink.
  • Fri, Sep 18, 2015, 7:18 PM
    Thanks Jacques. I've already fixed the issue as stated in the issue raised above, it was a regression introduced recently because I poorly tested the plugin on MySQL. Sorry for the trouble! I will try to release a new version this weekend.
  • Fri, Sep 18, 2015, 8:02 PM
    Thanks for your work.
  • Wed, Sep 23, 2015, 10:01 PM
    Merci pour votre travailles, Federeic!!

    Perhaps I am not versed enough if the tech side of Moodle (I have no idea what CRUD is.) , but is there a way to assign points for completing all tests in a unit? For example, if I have a list of 10 things that students must do, can I set that up give a large number of "bonus" points for doing all the tasks? Perhaps that is what the Activity / Resource condition is. It was just unclear to me.


Please login to post comments