Leaderboard Creator
New update v2.81 released!
What's new?
The Official Documentation is now here!
Version 3.0 has been released in Early Access (currently supporting advanced leaderboards only)!
FAQ
How to create a leaderboard using this tool?
Press the "Create New Leaderboard" button and wait for the leaderboard to generate.
How to use a generated leaderboard?
- Copy and save the secret key of your leaderboard somewhere else in your system.
- Copy the public key of your leaderboard.
- Download the Unity package of the tool and drag it into your Unity project.
Games that use Leaderboard Creator are included in a collection!
Does your game also use Leaderboard Creator?
Click here to request its addition to the list!
Export your leaderboard through Leaderboard Exporter:
Credits
- Developed by Danial Jumagaliyev
- UI theme made by Ommtdh
- https://github.com/kou-yeung/WebGLInput this Unity plugin allowed the Input Fields to be copyable in the WebGL build of this project
Status | Released |
Category | Tool |
Platforms | HTML5 |
Rating | Rated 4.9 out of 5 stars (101 total ratings) |
Author | Danial Jumagaliyev |
Made with | Unity |
Tags | leaderboard, leaderboard-creator, networking, online-leaderboard, Unity, Unreal Engine |
Average session | A few seconds |
Languages | English |
Download
Download NowName your own price
Click download now to get access to the following files:
Leaderboard Creator V2.81 (Unity Package) 12 kB
Leaderboard Creator V2.81 [+Demo Scene] (Unity Package) 31 kB
Premium Perks
Support this Leaderboard Creator at or above a special price point to receive something exclusive.
Advanced Leaderboard
- Will hold up to 100,000 entries (10,000% increase)
- Extra string length per entry will be up to 1,000 (1,000% increase)
- Higher request bandwidth (1,000% increase)
- NEW! Ability to blacklist users by usernames and user IDs
- And you get to support the creator :D
NOTE: Now available for purchase here
You also get this sweet animation when activating it:
*Delivered within 24 hours of purchase
Sold out!
Development log
- V2.81 Update!May 16, 2024
- V2.8 Update!Apr 01, 2024
- V2.7 Update!Jan 23, 2024
- V2.6 Update!Oct 12, 2023
- Discord Bot Update!Sep 28, 2023
- V2.5 Update!Sep 07, 2023
- V2.4 Update!Jul 14, 2023
- Leaderboard Exporter Update!May 16, 2023
Comments
Log in with itch.io to leave a comment.
Hi guys, hope you're fine.
Is there a possibility to automatically clear all entries in the leaderboard?
When I try to create a new leaderboard I get an error
A page embedded in html-classic.itch.zone says
abort("both async and sync fetching of the wasm failed") at Error at jsStackTrace (https://html-classic.itch.zone/html/11396104/
LeaderboardCreatorWebBuild/Build/
LeaderboardCreatorWebBuild.framework.js:9:216393)
at stackTrace (https://html-classic.itch.zone/html/11396104/
LeaderboardCreatorWebBuild/Build/
LeaderboardCreatorWebBuild.framework.js:9:330280)
at abort (https://html-classic.itch.zone/html/11396104/
LeaderboardCreatorWebBuild/Build/
LeaderboardCreatorWebBuild.framework.js:9:697)
at getBinary (https://html-classic.itch.zone/html/11396104/
LeaderboardCreatorWebBuild/Build/
LeaderboardCreatorWebBuild.framework.js:9:12538)
at https://html-classic.itch.zone/html/11396104/
LeaderboardCreatorWebBuild/Build/
LeaderboardCreatorWebBuild.framework.js:9:12871
Very nice plugin.
I have a problem though, I ticked "ascending order" by accident and now my leaderboard is reversed and I don't know how to get it back in a descending order. Can someone help me ?
Yes, you have to click on "Ascending order" again. It is a toggleable checkbox. Once you click it, a green text will appear "Sorting order has been updated successfully!", and the checkbox is unchecked like it used to be.
Thank you so much for your tool. I have additional questions that are not outlined in the docs:
1. How many scores can be submitted to the board in total?
2. When the max submittable scores are reached, what happens when you submit a new one, what happens with the old scores?
3. How is the unique-user-identifier for the user made? Does it read the smartphone-ID (which would mean the user would have to grant necessary permission)?
4. Is there a chance of collision between user identifiers?
Things I have found out myself:
Username character limit is 127 (visible in the source code).
hm for some reason in my project everytime i upload an entry with the same name it gets duplicated. my userguid is always changing?
upd: nevermind, i kinda fixed it
Thanks for the great tool!
You saved my Jam, for Real!! <3
is there a way to implement this in a game not using unity?
Yes, feel free to reach out to me for other possible integrations.
Just want to report what I believe might be a bug:
I uploaded a score of around 11000 with the name "D" using one device, then, while testing something, I uninstalled my game and reinstalled it. Uploaded a new score of 13000 with the reinstalled app, and it added a new score to the list (I assume it has a new ID now that the game was reinstalled). So, I had two scores of "D" in my list, instead of the first one being overwritten. That was fair enough.
So, I come on here and edited the 11000 scorer's name to "B". When I clicked ok (the "check/tick" button), the 13000 score was edited too: the score was changed to 11000 (though the names remained as I put them). I ended up with two scores of 11000, with the names "B" and "D", even though I never edited the other one.
How come this happened? I assumed the ID would've changed if a new entry had been added instead of overwritten, after I reinstalled the game.
Hey Silver Fang, I will look into the issue, thanks for notifying about it.
It also happens if I try to delete the "duplicate" entry. I had two scores, from the same device, with the same "D" name: one at 20k pts, the other at 11kpts. I deleted the 11k pts one, and the other ones score changed to 11k.
Is it possible to embed a full leaderboard into a webpage?
Yes, using:
https://lbexp.danqzq.games/download
I mean, in a way where the leaderboard in the webpage will update in sync with the one in the game?
How do i reset the leaderboard ? if there is any option?
There is unfortunately currently no option to reset a leaderboard.
Wow. Got it working instantly. Incredible work.
is there a way of autodeleting entries that haven't been updated in a while?
No, but you can filter entries by date and time.
How to check for unique names to ensure there are no duplicates? Which function should I call?
Your best bet is to handle the error upon submitting an error, which will return a callback responding with a descriptive error message.
hey, great Leaderboard man but everything works on the editor but not when i run it on real deveice ?
Hey, there must have been some connection error.
how do i get the lowest rank in my leaderboard so i can only load my scene if my score is greater the the lowest rank otherwise it bypasses it?
Something along the lines of this...
How to use the IsMine() function to search for the Player's own score in the list? I get errors whenever I try to use it, saying "Entry does not contains a definition for IsMine".
I just want to be able to access the player's personal rank without any errors coming up. Once I've done that, I feel I can handle the rest from there with what I want to do (displaying the rank, etc).
Hey, could you show me how you're attempting to use the IsMine method?
I followed this tutorial video to implement the scoreboard:
But I'm not displaying the scores, only loading the scoreboard, because I don't want my game to display them all, just the player's personal score. So, I haven't included the loops shown in the video, just the function, and an empty version of the "LeaderboardCreator.GetLeaderboard" condition.
At present, I just have the function showing the top three scores, for the sake of testing, but my next step is to access the player's personal score and display that (which I'll then use to get the scores ranked directly above and below it).
So far, the condition looks like this:
LeaderboardCreator.GetLeaderboard(publicLeaderboardKey, ((msg) =>
{
rank1text.text = "#" + msg[1].Rank.ToString(); //Set the highest displayed rank
rank1nameText.text = msg[1].Username; //Set the highest displayed rank's name
rank1scoreText.text = msg[1].Score.ToString(); //Set the highest displayed rank's score
rank2text.text = "#" + msg[2].Rank.ToString(); //Set the middle displayed rank
rank2nameText.text = msg[2].Username; //Set the middle displayed rank's name
rank2scoreText.text = msg[2].Score.ToString(); //Set the middle displayed rank's score
rank3text.text = "#" + msg[3].Rank.ToString(); //Set the lowest displayed rank
rank3nameText.text = msg[3].Username; //Set the lowest displayed rank's name
rank3scoreText.text = msg[3].Score.ToString(); //Set the lowest displayed rank's score
//bool isMine = msg.IsMine();
//Debug.Log(msg.IsMine().Score);
//Debug.Log(LeaderboardCreator.GetPersonalEntry(publicLeaderboardKey, Whatever goes in here));
}));
You can see lines I've commented out. These were my attempts to use IsMine() and GetPersonalEntry, but every attempt gave me an error.
Anyhow, I don't think it's the GetMine() method I need, it's the GetPersonalEntry() method. Took me a while, but I finally figured out how to use it.
Incidentally, is there a boolean I can call if the Leaderboard fails to load? I.e. if the player is offline. I just want to use it to display a message if the leaderboard fails to load (I see that the servers for it go down frequently as well).
Hey there, Silver Fang, every function has an optional callback which will return the error message whenever an error occurs, please see the documentation:
https://github.com/danqzq/unity-leaderboard-creator
I mean, to convert it into a boolean within my own script? So I can add something like:
if (loadFail == true)
failMessage.SetActive(true);
Here's an example usage:
https://github.com/danqzq/unity-leaderboard-creator#displaying-entries-in-a-list
I'm seeing that V2 will be replaced by V3 soon. If I were to download V2 and set it up in my game now, will I have to change everything when a V3 update is required?
Just figuring out if it's worth me practicing with V2 now, or just waiting for V3.
Hey Silver Fang!
You could still use V2, the process to switch over to V3 will not be complicated
I cant copy the public key for some reason does anyone have the same issue?
Same, it's been an issue for a little while, the browser makes that happen. The way around is to open the browser console with F12 and there, when you click, copy the key, you'll see it, and you can copy it from there. I hope it helps! Works for me perfectly :)
Thank you man , that helped a lot
glad to hear!
This will be fixed soon!
Edit: this has been resolved.
what im doing is letting the user choose his name when the he opens the app, and the leaderboard updates after every game with the highscore. how can i make it so that the user cant choose a name that already exists in the leaderboard? For example lets say he decides on "Bot" and that name already is in the leaderboard, i want it to say "Username already exists choose another" or something.
UPDATE:
took a while but i fixed it!
Love this leaderboard thank you for your work!!
I really like this tool and use it for everything but can you fix the issue of the server going offline frequently? cause I really wanna keep using this
Sorry, the servers experience crashes sometimes, but I am working on fixing this!
The page here doesn't allow me to actually view or manage the leaderboard. I can use the leaderboard in the game, but when I come here to manage it, it says not found.
Sorry, the servers experience crashes sometimes, which is probably why the leaderboards return a status of not found, but I am working on fixing this!
HEY GUYS! What is the special price I need to pay to get the advanced functions? Thank you:D!
Advanced Leaderboards have been moved to Leaderboard Creator V3, now available in early access:
https://danqzq.itch.io/leaderboard-creator-v3
I can't get the score to update, the username does update normally. Even if I hard code values like this:
public void UploadEntry(string username, int score) { Leaderboards.FlappyBirdClone.UploadNewEntry("asdasd", 99, isSuccessful => { if (isSuccessful) { Debug.Log(score);
GetLeaderboard(); } });
}
my username becomes asdasd but score does not become 99
Hey SurocIsMe!
Is the score over 99? It's important to mention that if the score is above 99, it won't be changed. However, this would work the other way around, if the "Ascending Order" toggle is turned on.
Hey Daniel,
First, I want to thank you for this great tool.
Second, I added a leaderboard to one of my mobile games using this asset and I would like to to have access to the Advanced Leaderboard.
Would this possible now?
Thanks,
Omar
Me too! Above it says to pay the special price but I dont know what it isl...
Hey guys, sorry for the late response.
Advanced Leaderboards have been moved to Leaderboard Creator V3, now available in early access:
https://danqzq.itch.io/leaderboard-creator-v3
When I try to load, it says failed to connect to server. Is this just me? Or is the server just down for a moment?
Never mind, it's back, guess it doesn't matter either way now!
well i have the same error. When i add existing leaderboard it adds empty board and when i click on manage it gives server errror.
Yeah this thing just keeps going down then back up intermittently. I hope this is just affecting me, but if not that’s unfortunate.
Sorry guys, the servers experience crashes sometimes.
Hello, I really enjoy using your tool. I want to report that it doesn't allow me to upload scores any more. If I upload an entry (username + score), only the username gets uploaded and has a static variable score of 99 for some reason.
Hey SurocIsMe!
Please familiarize yourself with how the leaderboard entries work:
https://github.com/danqzq/unity-leaderboard-creator?tab=readme-ov-file#uploading...
Hi! i found it Great! , i can use in my comercial game?
Hello Shadownildo!
Yes you can!
great tools. copy doesnot work and cant copy key but no problem i am smart.
Hey Santos!
Due to a new browser policy copying to clipboard became broken on some browsers and I am working on fixing it (there may not be a way to fix this 💀). As a temporary workaround, I made the keys appear on top of the Unity view, so you will be able to copy the keys from there for now. The keys are alternatively printed in the developer console, so you can copy them from there.
i cant copy the keys ?
Hey ip7_i!
Due to a new browser policy copying to clipboard became broken on some browsers and I am working on fixing it. As a temporary workaround, I made the keys appear on top of the Unity view, so you will be able to copy the keys from there for now. The keys are alternatively printed in the developer console, so you can copy them from there.
Hi, is there a way to dynamically create a new leaderboard with code or do you have to use the tool?
Hello snon200!
You may only create leaderboards manually through the tool.
this tool helps my game to be better but my servers Suddenly disappeared in dashboard
Hello BestStadio!
It it important that you save your leaderboards' secret keys because they are only stored in the browser's cache upon creation, and could be deleted when you erase your browser's data.
Nice asset. Is there a self-hosted version of the score server side of this asset available? or are you only making it available as a Software-as-a-service API
Hey geoffc!
For now, it's a SaaS API.
Hello,
Is there a way to allow negative scores? When I try and pass through negative scores Unity gives me a console error. I have an idea for a work around on my end but was wondering if there's a spot in your scripts that I could tweak to allow for negative values....
Hey dambotron!
Unfortunately to your case, the score is and should be a positive number, but all you need to do on your end is offset the resulting scores by subtracting them.
Gotcha. Thanks! I am having another issue that the score always updates as 1, regardless of what I submit. I followed your video tutorial and don't seem to see any issues on my end. Any idea what might be happening here?
It might be because your leaderboard is set to sort in ascending order, meaning the lowest score will be saved if you submit a higher score.
There are times when I play and I get this error "[LeaderboardCreator] Not Found" and if I have my leaderboard loaded, how can I fix that?
Hello SaraCastro132!
This is a global issue, and I assure you I am working on fixing this.
Okiiii
Thank you very much for creating this wonderful tool, I am sure you will solve them
And sometimes I having this other problem "
Service Unavailable: <!DOCTYPE html>
<html>"
Hello, i wanna ask is there's a way to has a function that can delete the user data from leaderboard itself instead of admin that need to do it
Hey F-AR!
Please see the documentation guide here:
https://github.com/danqzq/unity-leaderboard-creator?tab=readme-ov-file#uploading...
Hello, is there a way to check a player's ranking when they upload their score? Something that allows the player to understand if they are in the first place, the second ecc
Hey Costiklev!
Please see the documentation guide here:
https://github.com/danqzq/unity-leaderboard-creator?tab=readme-ov-file#display-e...
This works for oculus?
Hey SaraCastro132!
Yes, it should work for all platforms!
Thanks it works
awesome resource, used it in a recent jam game.
check it out https://colecantcode.itch.io/graveyard-gundown
This is great when it works. In my previous games I never had problems but today when playing them or trying to implement the leaderboard into a new game, I noticed there is a major server delay and sometimes I get a Heroku error page in the console.
Is this a known issue and I should look for an alternative or is this just a temporary hiccup?
Thanks for such a great tool!
I report the same problem. Service is not reliable
I want to report that the servers were down today. I had to retry many times. Finally, I used the creator to see my leaderboards. That forced it to recover. Then my apps could communicate with it.
Hey Galaware Consulting LLC!
Currently the servers are facing some hiccups that I'm working on fixing. Sorry for the inconveniences.