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:
8348 sites
497 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, Jan 20, 2016, 10:50 AM
  • Tue, Jan 26, 2016, 4:19 AM
    Hi Frédéric! First of all, congratulations for the plugin. It's absolutely nice. I'm facing a simple situation and kindly ask for your help. I've several activities in a course, that are manual completed (checked) or automatically (when the student views the activity). But each time the student view the activity or uncheck it and check again as complete, it gains points (of course, respecting the "Cheat guard" time parameters). How can I avoid this situation? In other words, how can I configure the plugin to accept (and count points) only the first time the student complete a certain activity? Thanks in advance. Best wishes.
  • Mon, Feb 1, 2016, 12:30 PM
    Hi Diego,

    Unfortunately you can't. It's an interesting problem so it would be helpful if you could file it as an improvement request on https://github.com/FMCorz/moodle-block_xp/issues . Others may comment and express their interests in seeing this improved.

  • Wed, Feb 24, 2016, 3:32 AM
    Hi all! I'm having trouble accessing the rules page. It is completely blank. All other pages look good. Has anyone had a similar problem?
  • Wed, Feb 24, 2016, 11:58 AM
    Hi Artem,

    No, that is not something that I am aware of. There must be a bug which your Moodle administrator should be able to identify. Once identified could you please report it at https://github.com/FMCorz/moodle-block_xp/issues

    Thank you,
  • Wed, Feb 24, 2016, 4:18 PM
    Hi Frédéric,

    I just updated from 2.2 to 3.0 and while at it I also installed this awesome plugin. Is there any way to calculate xp points for past quiz attempts? I don't mind manually digging into the database if need be, I just need to know where to start. (I suppose it's mdl_block_xp.xp and mdl_block_xp.lvl that have to be updated but I'd like to calculate the points consistently with your algorithm, not just just use something I make up.)

    The second (set of) question(s) is about the rules. Basically, the course is simple we're talking of is simple: it only contains a number of quizzes, each of which can be attempted multiple times. I would like to give either a fixed number of points for each finished attempt/the number of points a person reached in that particular attempt. I have found a way to do the former version, but not the latter when editing the rules. Is there one? Plus, I guess it would be nice to be able to subtract points if a person hasn't viewed the course for a while. Also I don't understand the default rules, does CRUD stand for create-read-update-delete? So the default rules apply to the crud of any kind of activity/resource within course?

  • Wed, Feb 24, 2016, 6:11 PM
    Hi Éva,

    The plugin is not meant to be used to attribute XP based on achievements, but based on participation. Though you can, as you thought, change the XP of a user with your own bit of PHP code. I would suggest crafting a query to increase block_xp.xp value, then do the following:

    $manager = block_xp_manager::get($courseid);

    Currently, there is no way to set a rule that changes the XP depending a number of attempts. Yes, CRUD are for Create Read Update and Delete, and they apply only on events of type "Participating", for example CRUD a forum post, or an assignment, ...

  • Wed, Feb 24, 2016, 9:31 PM
    Plugin does not work for cron events (\core\event\course_completed etc). Any ideas on how to achieve this?
  • Thu, Feb 25, 2016, 12:15 AM
    Excellent block. Easily configured. Great information. Enjoyed by my students! This is the best gamification block out there... so far. Works even in an environment using MS SQL!
  • Thu, Feb 25, 2016, 10:17 AM
    Filip, I should have a look at this. Could you possibly raise an issue at https://github.com/FMCorz/moodle-block_xp/issues?

    Lee, thanks a lot for your feedback!
  • Thu, Feb 25, 2016, 8:26 PM
    Hello Frederic! A problem in my moodle 2.9 with the latest version of Level Up: Regardless of the value (in this case I put 31104000 seconds), the Cheat Guard does not work from one day to the another day. What can be happening?
  • Fri, Feb 26, 2016, 9:32 AM
    Hi Glauco, the cheat guard is weak in the sense that it is attached to a session and therefore does not persist across days. That decision was made on purpose to avoid a negative impact on performance. If this feature is something that is really required for you, please raise an issue here: https://github.com/FMCorz/moodle-block_xp/issues Thanks!
  • Sat, Feb 27, 2016, 4:44 AM
    Hi, I installed your plugin on my Moodle website, and added the block in my course. When I click on any of the hyperlinks at the bottom of the block, I get a 404 not found message. Have you any Idea what mignt be wrong?

    Best regards,
  • Mon, Feb 29, 2016, 10:11 AM
    Hi Dragan. No idea where this is coming from, please make sure that you copied all the files from the plugin.
  • Sun, Mar 6, 2016, 11:33 AM
    Hi there

    I am having problems tu configurate the block, only allow me to choose if it will be use in the entire web or only in courses. I can not choose the configuration of levels, it says Internal Server Error but I have no idea where is the error.

Please login to post comments