How do I use Achievements → Custom?
Custom achievements are ones you invent. You decide what earns them, whether they belong to a team or a member, how rare they are and how much XP they pay. A league can have up to 50 of them.
Where to find it
On the website: click XP in the sidebar, then the Achievements tab, then Custom in the row of sections.
In the app: tap More, then XP, pick Achievements from the XP sections dropdown, then tap Custom.
What this section is for
The list itself, and the count of how many slots you have left out of 50. The slots-remaining number changes colour when you are down to your last five.
Making and editing one happens on its own page — the New custom achievement button at the top, or Edit on any row.
Step by step
- Open XP → Achievements → Custom and press New custom achievement.
- Give it a name and a short description. Members see both.
- Pick a Category (it slots in beside the built-in achievements) and a Rarity — Bronze, Silver, Gold or Platinum.
- Choose how it is earned:
- Stat threshold (≥) — unlocks when a number reaches or passes your figure. This is the one most people want: "win 25 games", "earn 50,000 XP".
- Streak (consecutive) — unlocks on a run of things in a row: "5 wins in a row".
- Milestone (exact) — unlocks the moment the number hits your figure exactly. For one-off landmarks like a 100th trade.
- Type the stat it watches and the Threshold it is aiming at. Read the next section before you do — this is the step that catches people out.
- Choose whether it belongs to a Team or a Member.
- Set the XP reward, and optionally a Discord role to Grant role on unlock (roles only work on member achievements).
- Save it.
The stat box is the part that goes wrong
There is no menu of stats to pick from. You type the name the bot uses for that stat — all lower case, underscores instead of spaces, like wins.
Nothing checks whether that stat actually exists. Type a name the bot does not keep, and the achievement saves happily, sits in the list looking perfectly healthy, and never unlocks for anybody. If a custom achievement has never fired for anyone, this is nearly always why.
Two names for the same idea will not work either — team stats and member stats are separate lists, so a stat that exists for teams will do nothing on a member achievement.
Try a number before you commit to it
Once a custom achievement exists, its Edit page has a Preview unlock count button. Press it and it runs your rule against the stats your league has on record, and tells you how many teams or members would qualify — with the strongest listed underneath so you can see who. Nothing is given out and no XP moves.
It is the difference between an achievement nobody ever earns and one everybody earns in week two. It is also the fastest way to catch a mistyped stat name: a name the bot does not keep comes back as none qualifying, every time, no matter how low you set the number.
Two things to know about it. It counts everybody who would qualify on a fresh look, including people who have already earned it — so a long-standing achievement will report a big number, and that is correct rather than a fault. And it only exists on achievements you wrote yourself; the built-in ones on the All Achievements section have no preview button.
Switching one off instead of deleting it
The switch on the row (and the Enabled switch on the edit page) mutes an achievement without touching it. Deleting removes the achievement itself.
Either way, anything members have already earned stays on their profile. You cannot take an unlock away by deleting the achievement — for that, use Unlocks.
Season-scoped
On the edit page there is a Season-scoped switch. With it on, the record of who has earned this is wiped when your league rolls into a new season, so the same achievement can be won again next year. Leave it off and it is a once-ever award.
Common problems
- My custom achievement never unlocks. Almost always the stat name — see above. Check the spelling, and check you picked the right one of team or member.
- The New button will not go through. You are at the 50 cap. Delete one first — the button says so.
- I deleted one and members still have it. That is deliberate. Earned is earned — deleting the achievement does not rewrite history.
- The role isn't being given out. Roles only apply to member achievements, not team ones. If the bot cannot give the role it still awards the achievement rather than failing the whole thing.
- I can't find this section at all. It lives on the XP Hub. If the XP Hub is missing from your sidebar, the XP switch is off in the Features Hub — switch it on to reach the Achievements tab.