Hi! Since the release of this video, we have made some updates on some of the functions in the SDK. 1. Use leaderboard key instead of the leaderboard ID (mentioned at 7:45) 2. Replace leaderboardID with your leaderboard key in LootLockerSDKManager.SubmitScore(playerID, scoreToUpload, leaderboardID, (response)) 3. Replace GetScoreListMain(leaderboardID, 10, 0, (response)) with GetScoreList(leaderboardKey, 10, 0, (response)) 4. Error handling is different in the SDK (mentioned at 9:34), instead of just response.error, use response.errorData.message instead Thanks for watching / Johannes
Thank you for the great tutorial! It was a huge help for me. Some hints: At 12:52 I had to use LootLockerLeaderboard instead of Leaderboard (depricated?). At 10:45 I think it is shorter to write the playerNames and playerScores in one line seperated with comma since both of them are the same type (public TextMeshProUGUI playerNames, playerScores;)
Can anyone please help, I'm stuck with Sending the leaderboard LootLockerSDKManager.SubmitScore(memberID, scoreToUpload, leaderboardKey, (response) => or LootLockerSDKManager.SubmitScore(memberID, scoreToUpload, leaderboardID, (response) => My other game scripts are not passing score value even though i set referneces.
When I implemented the username i am getting the message in the console but when checking the leaderboard the username is just some random numbers pls help??🤔🤔🤔🤔🤔🤔
Great video and great service! If anyone is having trouble with implementation, it seems like the SubmitScore function now requires a string leaderboardKey INSTEAD of the int leaderboardID shown in the video. The key can be found by clicking "edit" on the leaderboard in the web browser- it's the same key we set ourselves during the initial setup on the website.
private void OnTriggerEnter(Collider other) { if(other.gameObject.tag == "Enemy") { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex - 1); scoreManeger.isGameOver = true; DieRoutine(); } } IEnumerator DieRoutine() { yield return leaderBoard.SubmitScoreRoutine(ScoreManeger.score); } I want that when the player collides with an enemy and the scene also changes when the player collides with the enemy now I dont know why but the score is not being summited can you help please reply!
private void OnTriggerEnter(Collider other) { if(other.gameObject.tag == "Enemy") { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex - 1); scoreManeger.isGameOver = true; DieRoutine(); } } IEnumerator DieRoutine() { yield return leaderBoard.SubmitScoreRoutine(ScoreManeger.score); } I want when the enemy collides with player the player die and change scene to main menu but the score is not being submitted can you help? Please!
@@LootLocker worked well. In my opinion a leaderboard with multiple values would be nice. But now I just calculated some kind of single score out of my data and stored the data I want to show to my user in the metadata. Seemed straight forward enough to me^^
Hey im trying to follow this tutorial but can't get the leaderboard key to work rather than the leaderboard ID with it keep saying it doesnt exist in the current context to my leaderboard key
New problem now sorry at 10:12 in that bit of code where it says score i have my time as im doing a speedrun game but it says i cant convert float to int and dunno how to fix it and any help would be appreciated thanks :)
Hi! There is an example included in the SDK in the Samples folder that shows an example on how to make a float leaderboard, so go to the scene called 2c - FloatLeaderboard.unity and look at the code there. Hope this helps :)
Did you take a look at the float leaderboard example that is included inside of the SDK? That should contain all the code necessary to create a float leaderboard :)
Hello, when I set the leaderboard to live on the website it changes ID, should I update it too in the script? Im asking because I'm getting a new error Could not set player nameSDK not initialised UnityEngine.Debug:Log (object)
Hi! Yes, when changing to the live environment (development mode off), you will need to change the id of the leaderboard. What you also can do is to instead use the "leaderboard Key", then you can use the same name for your leaderboard between stage and live. The SDK initialized is not because of the reason with leaderboard ID being wrong. Can you check that Guest Login is enabled here my.lootlocker.io/settings/platforms/guest for the live-environment (you change to the live-environment in the bottom left corner) Let me know if it worked :)
@@LootLockerHi, I am also getting the same error Could not start session ............................ (This is from LoginRoutine Coroutine) Could not set PlayerName: LootLocker SDK has not been initialized, please start a session to call this method but im not getting any valid solution for this yet
So hey, when I use (response) => in SubmitScore function, compiler tells me that it was deprecated and will be removed soon, and I should use ActiononComplete instead. How do I do that, cant find any explanation for this in API?
if you look closer all the new function needs is to have the 'leaderboardID' be made into a string instead of an int. So just swap the type out, add some quotes, and you should be all good. I haven't run into any issues yet.
@@trixygames7705 Oh thanks. I also have a problem where if I request the name of the player in the leaderboard it returns empty field. Know smth about that? :D
@@trixygames7705 Oke nevermind about my last comment, to get the name you should first send the name using LootLockerManagerSDK.SetPlayerName function. I wish it was mentioned somewhere tho, so I wouldnt have to dig through all the functions :D They should probably make better documentation
Hi! Yes, that should be possible :). A time is just something that counts up, so it's mostly about formattinging it. For example, this code below will format milliseconds into the format hours:minutes:seconds; int ms = 123456; TimeSpan ts = TimeSpan.FromMilliseconds(ms); Console.WriteLine(ts.ToString(@"hh\:mm\:ss")); So if you upload the score as milliseconds, you can decide on the client on how you want to format it. Hope this helps!
Your tutorials are excellent as always Johannes. With the Flappy Bird Online Leaderboard, I was able to implement a leaderboard in my game. Now I'm working on User Generated Content, and I was so thrilled to see LootLocker has that too! Loving LootLocker more and more. Are there any UGC tutorials as of yet? :)
Thank you, makes me really happy to hear that :) Don't have any UGC-tutorials currently. It is planned, but haven't started on it yet so can not say when it'll be out, but hopefully soon :)
Hi! Thank you! It's hard to understand the issue without seeing any of the code and what response you get from the server. You an also look at the source code of my implementation at: github.com/LootLocker/score-squasher Hope this helps! Otherwise, you can join our discord at discord.lootlocker.io and we can try to look at the issue more closely.
Hi! Have you made a variable called score? It needs to be an integer (int), so somewhere in your script you need to make a variable called score to use it. Hope this information helps :)
@@Milannnnn Hi, we don't have built in support for this currently, but you could do a check against a list of words that you don't accept before you send the request to LootLocker.
Hello. Thanks for this solution and tutorial. I'm having an issue though. As I need an "arcade style" leaderboard ( many players will play on the same pc ) So I made a generic leaderboard, changed my leaderBoardID in the code. I saved my sln and then I can see in the log that only the old leaderboard keeps on being called whatever I do ..
By chance does this system support a stat like total games completed, along with total completed for player? That's what I need to implement. More of a count than scores directly. So far it looks like I need to roll my own
Hi! There are several ways to solve this with LootLocker, you could either do it with multiple leaderboards. Or you could use key/values storage to store data on the players; docs.lootlocker.com/how-to/players/player-storage So should definitely be possible to solve. Hope this information helps!
Hi I love this tutorial, but I've been stuck for a long time at 9:34 on the Error text since I get this error : CS1061 'LootLockerSubmitScoreResponse' does not contain a definition for 'Error' and no accessible extension method 'Error' accepting a first argument of type 'LootLockerSubmitScoreResponse' could be found (are you missing a using directive or an assembly reference?) Assembly-CSharp C:\Users\lilst\Documents\Games\Time Flies\Assets\Scripts\Leaderboard.cs 28 Active Can someone Please help me?
Hi! We recently updated the SDK with a new way of handling errors, so you need to do it a bit differently now; docs.lootlocker.com/reference/deprecation-guide/unity-sdk-deprecation-log/version-2.0.0 Read the first bullet-point in that deprecation guide and you should be good to go! Thanks for reaching out, I'll update the sticky comment with this information as well!
how do I put this thing in my player script bro?? im just using a basic function (void) not coroutine and i cant seem to be able to refference the coroutine we made for the function
@@rawal4sky656 i made another void function in the playermanager(log in) script, this void would call the set up coroutine, make sure it is public, then in your player script just reference the object with the playermanager script, get component and call the function. in ur player script you would put this: public gameObject managerObject; managerObject.GetComponent().whatever u neamed ur function();
Mañana lo implementará a mi juego, pero aun no se si este tutorial es indicado para juego de pc y no de Android. Mi juego es Android funciona igual los 5 tips?
Hi! I don't speak spanish so I used google translate for your comment. This will work on any platform; Android, iOS, PC, Nintendo Switch and more. LootLocker is completely cross platform so it should work regardless of what platform you're aiming for.
If anyone is having an issue with Fetching the high scores (about being deprecated and will be removed soon) I fixed it by first: - Changing "LootLockerSDKManager.GetScoreListMain" to "LootLockerSDKManager.GetScoreList" (remove 'Main') - And converting the leaderboardID to a string with "leaderboardID.ToString()" So it'll look like this: "LootLockerSDKManager.GetScoreList(leaderboardID.ToString(), 10, 0, (response) =>"
got the following error after installing with the url using the package amanger Backend produced unparsable log entry {"msg":"newNode","annotation":"Csc Library/
Hi! We currently only support ints, but a workaround would be to multiply the decimal score with as many decimals as you want, and then when you get the score back, you divide it by the same amount. So let's say that you want 3 decimals, - format the score to have 3 decimals; 1.2345 becomes 1.234, - then multiply by 1000; 1.234 becomes 1234 - Upload score 1234 to LootLocker - When you show the scores, divide by 1000; 1234 shows as 1.234 Hope this helps :)
Another question, Hi Lootlocker I was wondering, is there anyway to format the scores in the lootlocker website? to like decimals as im using time as my score? is that possible?
Hi, the documentation for Unreal can be found at our documentation website: Make sure to click the tab "Unreal" to see the implementation for Unreal. Guest Login - docs.lootlocker.com/players/authentication/guest-login Leaderboards - docs.lootlocker.com/game-systems/leaderboards/submit-scores-to-leaderboards Hope this information helps!
I've double checked everything and in my FirstPersonController script I'm getting the errors he name 'score' does not exist in the current context he name 'leaderboard' does not exist in the current context what could be the problem?
Hard to say exactly without seeing the script, but it sounds like the variables does not exist. Have you created the variables? Like int score, string leaderboardKey/leaderboardID?
Thank u very much for the guide! Losted 2 hours before find this one. Got question, while I was fitting your system in game, new errors occured. Your request has an error {"error":"Bad Request","message":"leaderboard does not exist" and FailedInternal Server Error -- We had a problem with our server. Try again later. Did I right understand that problem is that servers not working, so code can't connect to leaderboard?
Hi! The servers are working, the FailedInternal Server Error is most likely just a follow-up-error on the first error. The error "leaderboard does not exist" means that the leaderboard that you are trying to access does not exist, so you are either in the wrong environment (development mode true/false in Unity vs Stage/Live on LootLocker dashboard) or the leaderboard hasn't been created. Double check that development mode is false and the leaderboard is in the "Stage" environment on the LootLocker dashboard, or that development mode is true and the leaderboard is in the "Live" environment on the LootLocker dashboard. Let me know if this information helps you figure it out!
Hey I am getting build issues while building the game after implementing this headboard system. Assets\LootLockerSDK\Runtime\Editor\AttributionHandler.cs(4,13): error CS0234: The type or namespace name 'Plastic' does not exist in the namespace 'Unity' (are you missing an assembly reference?) Please help early as it is for game jam
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002da] in :0 at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in :0 UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) One more error!
@@paravverma4788 Hi! We currently have a bug on the Unity Asset Store SDK, hopefully getting a fix out soon. Until that is fixed you can use the github version instead; github.com/LootLocker/unity-sdk
Hi! Yes, you can use docs.unity3d.com/ScriptReference/SystemInfo-deviceUniqueIdentifier.html when starting a session, then the ID will be unique for every player. When you create the leaderboard you can choose if you want the score to be overwritten every time or if it only should update if it is higher than the previous score.
@@LootLocker How do you set it up so it only updates the score if it's higher than the previous score? The only setting I found updates the score even if it's lower, which I don't want.
hi there, im getting an error. I saw in some videos that they use LootLocker.Response but its not showing up as its saying that doesnt exist. how do i fix this?
Hi! It's hard to say exactly why this hapens, but if the "LootLocker.Response" doesn't show up, it means either that LootLocker hasn't been properly installed or there might be something wrong with your IDE. I recommend that you test to re-install LootLocker again andsee if that works. Hope this helps!
guest login not working for me , i dont get compile errors/runtime errors , but i get the debug log message "error starting lootlocker session" i followed the guide on the website (the uptodate one) and decided to come here to see if there was any explanation of why sessions wont start.
Hi! Thanks for reaching out! We have a video on how to do Guest Login which might help; ruclips.net/video/hiPDtq9CecQ/видео.html Also, inside of the LootLocker SDK in Unity, if you go to Package Manger and click LootLocker, you can select "Samples" and choose "Import". Then open the scene "1a - GuestLoginLootLockerIdentifier.unity" or "1b - GuestLoginUniqueIdentifier.unity" to see a working example of two different ways of Guest Login. Hopefully this will help you solve the issue, let me know how it goes :)
For some reason I am getting a "No platform supplied" error. There is no option for me to set the platform in project settings in Unity. How do I fix this?
@@LootLocker My apologies, I was just using StartSession instead of StartGuestSession. However I am now receiving a new NullReferenceException error saying that the LootLockerSDKManager needs to reference an object in order to SubmitScore, when your code never references an object.
@@LootLocker Sorry for late reply. I pretty much copied the code in this video verbatim and I am not getting any errors anymore, but I'm still having issues. Only one score ever shows up on the scoreboard for some reason, even though I have had multiple people test it across multiple devices. Does this have to do with the leaderboard Key replacing the ID, or is there a larger issue?
@@jimboomafoo The leaderboard key/id should not have anythingt to do with this. How do you start the guest session? To get a newuser on every device, you need to start it without an identifier, so StartGuestSession((response)=>{etc.. etc..})
Hi! No unfortunately, that folder is for testing the SDK internally, not anything you can build upon unfortunately. However, inside the package-manager, you can click Samples and check out a few examples of player login, leaderboards and such. Hope those examples help!
Great tutorial!! I was also wondering how to limit the input characters for the players name, I'm using gamemaker studio 2. Any advice would be greatly appreciated, thank you!
Hey, thanks for the video. I implemented this system on my own website, but I found that when users enter their name, it just appears as random numbers. Any idea what might be causing that?
It sounds like you are looking at the PlayerID. The player ID is a random number essentially. To change the players names you would use the Player Names function and then display the players names; docs.lootlocker.com/players/player-manager/names Hope this helps :)
@@LootLocker I repeated all the steps from the video. In the lootlocker web console, I switched to live mode, and installed the android platform and the guest. Next, I overwrote the API in the editor with a new one. The android platform is set in the lootlocker sdk in the project settings. Development mode is also disabled in the editor. Everything works in the editor, but, as far as I can tell, in the apk file on the android, the lootlocker services do not start at all. Updated: I also tried this code in a new project, where I left the default settings (I thought that my project settings might somehow affect the functionality of the lootlocker services). This did not give a result, everything works so far only in the editor
We just noticed a bug with the latest version of LootLocker that might be causing this, a fix should be out in a few hours. Will write here again when the fix is out.
Hi! If you only want to show the time, then you can use the metadata field (just add an additional string to the SubmitScore-funvtion). If you also want to be able to sort by it (choose top time or top highscore), then you need to create an additional leaderboard for it and download both of them. Hope this information helps :)
How can I prevent that two users, on different devices, when registering ( though white label) can use the same user name (without using an own server, i.e. by querying your API)?
We unfortunately don't have that feature yet (it is planned, but can not say when it will be implemented). A workaround is to store a new users name in a leaderboard, and then when the player enters a name, check that against the leaderboard of names essentially. Hope this gives you some ideas :)
Hi, I am working on a mobile game. where you can chose between 2 characters. first time you open the game you can create character, next time you can only choose login. my question is. if you delete the app. and install again. will you then get a new ID?
Hi! It depends on what identifier you use when starting the session. If you just do StartGuestSession() a new identifier will created if the player uninstalls the game. But if you instead do StartGuestSession("someUniqueIdentifier") like this one: docs.unity3d.com/ScriptReference/SystemInfo-deviceUniqueIdentifier.html it will be tied to the device that you are playing on instead. When you add LootLocker to Unity, inside the package manager, you can click Samples and then Import. Click Scenes-> Sample 1b - GuestLoginUniqueIdentifier to see how to set it up with a unique identifier. Hope this helps!
Don't know why it keeps displaying login failed when I click play. I've imported Version 1.1.42, following the same code and process(add package, paste the game API key), and enabled all the platforms in web, including Guest Login..but still not working
hmm the loot locker SDK doesnt seem to be showing up for me in the project settings tab, ive tried reinstalling twice and unity says that the package has been installed. using version 1.1.42
Hey Hello, great video it helped me really out. I have a quick question, I want to show the top 10 on my leaderboard and also the score and position in the list of the player, when he isn't in the Top 10. How could I do that? And also, how could I check, if a name is already taken?
For getting the players score and the surrounding score you can use this function here; docs.lootlocker.com/game-systems/leaderboards/retrieving-leaderboard-data#get-a-single-entry-score-+-surrounding-entries-score As for checking if a player name already exists, that is a feature we currently don't have built in, but there is a workaround that you can use to get the same behaviour; string nameToSet = "TestName"; LootLockerSDKManager.GetPlayerName((response) => { if (response.success) { if (response.name == nameToSet) { Debug.Log("Player name is already set to:" + response.name); } else { Debug.Log("Player name is not set to:" + nameToSet); Debug.Log("Setting player name to:" + nameToSet); LootLockerConfig.current.currentDebugLevel = LootLockerConfig.DebugLevel.AllAsNormal; LootLockerSDKManager.SetPlayerName(nameToSet, (response) => { if (response.success) { Debug.Log("Successfully set player name to:" + response.name); } else if (response.statusCode == 409) { Debug.Log("Error setting player name, it already exists"); } else { LootLockerConfig.current.currentDebugLevel = LootLockerConfig.DebugLevel.All; Debug.Log("Error setting player name" + response.Error); } LootLockerConfig.current.currentDebugLevel = LootLockerConfig.DebugLevel.All; }); } } else { Debug.Log("Error getting player name" + response.Error); } }); This code first gets the players name, and checks if it is set already to the name that you are trying to set, if it isn't then it will try to set it. For this to work you also need to enable "Use Unique Player Names" in the Misc. tab here; console.lootlocker.com/settings/game Hope this helps!
Great tutorial!! I was also wondering how to limit the input characters for the players name, I'm using gamemaker studio 2. Any advice would be greatly appreciated, thank you!
We have a leaderboard extension available for GameMaker here; marketplace.yoyogames.com/assets/10767/easy-leaderboard-by-lootlocker I recommend using that with Game Maker. To limit the length of the players name would just be as simple as limiting the input that the player adds in the input-field essentially. So something like this: playerFinishedName = " "; if(string_length(keyboard_string) < 10) { playerFinishedName = playerInput; } And then use LootLockerSetPlayerName(playerFinishedName) when sending in the name. Hope this helps :)
Great video and very easy to implement. However, unless I did something wrong, even if I start a game and enter a different username than the last one, it just overrides that entry instead of creating a second entry in the leaderboards. Does this has something to do with the "PlayerPrefs.SetString("PlayerID", response.player_id.ToString());" command, since the player_id is presumably always the same? Is there a way to create a new entry in the leaderboards for every new username?
Hi! Thank you! When the game is started, it is tied to the current device that you are playing on, guest login saves the current user on the current device. So to upload a new score with a new player, you will need to play on another device. If you change the leaderboard type to be generic instead, then what you upload the score with will be used instead. However this also means that anyone can upload a score with any name and will overwrite a previous users name and score if they use the same name. If you want more "arcade style" leaderboards where you can upload as many scores as you want with duplicate names, we have a guide on how to do that with a Flappy Bird game here (scroll down to the "Submitting the score" part to see how I implemented it) ; www.lootlocker.io/blog/post/how-to-make-flappy-bird-with-online-leaderboards/#15-submitting-scores-to-the-leaderboard Here is the source code for that project also: github.com/LootLocker/flappy-loot Hope this helps! If you want more help, feel free to join our discord at: discord.lootlocker.io
@@LootLocker I dont know if I did it the right way, but I found a similar issue on your discord the solution to which was to request a new Guest Session and use the player's username as the player_identifier. Now every new username creates a new entry in the leaderboards.
You can do it like that, but it might cause strange behaviours. When you create a guest session with the player name as the identifier, that means that anyone that inputs that name will log in as that player. So if 2 players call themselves "Player" for example, they are the "same player" and will overwrite each others score on the leaderboard. So as long as you are 100% sure that no players will use the same name, it should be fine, otherwise I would recommend to have it as you had it before and let LootLocker decide the guestID (every new player will get a new ID) or implement it as I did in our Flappy Bird guide: www.lootlocker.io/blog/post/how-to-make-flappy-bird-with-online-leaderboards/#15-submitting-scores-to-the-leaderboard If you want to create new players for testing purposes you can clear the current user by calling PlayerPrefs.DeleteKey("LootLockerGuestPlayerID"), this will create a new user the next time that you start the game. Hope this helps! /Johannes
@@LootLocker Wouldn't the way I had it before allow for different players on the same device to override each other's scores and fetched usernames since they are on the same device? If that is the case, I would want to set the leaderboard type to generic, but as far as I understand the same issue that my current implementation has would arose (Same-named usernames would override each other). Would trying White Label Login solve these issues, since it would require a password for logging in? My end goal is to be able to allow for multiple scores from the same device, but with different usernames, but to not allow for others to enter an already picked username. I apologize if I have understood something incorrectly and I am wasting your time for no reason.
@@Ayreontasia Yes, you are correct; on the same device it would be the same user with the previous implementation. If you want to use the same device, then White Label is probably the way to go as you say. No, definitely not wasting my time! Glad to be of help!
Hi! You could either do StartCoroutine("theRoutineYouWantToStart") or convert the function to a void instead. Instead of using the "yield return new WaitWhile()", you can put the next call inside of the previous call. Have a look at this script, at line 122 I do one request to the server, and if that is succesful, I do another request at line 134; github.com/LootLocker/white-label-login-example/blob/main/Assets/Scripts/WhiteLabelManager.cs This is for another one of our features called White Label, so ignore what the functions do, and just look at how the structure of the requests are made. Hope this helps :)
Hi, do you offer a method to delete user data directly from the app? I am developing a game, and according to European laws, for the game to be accepted in the play store the game must offer a way to delete the data, should the user want it.
Hi! We are currently working on that exact feature. So it is not possible today, but it is currently being worked on so it will be possible in the near future.
Hi! Yes, the users name will stay the same even when the player restarts the game or their phone. They will always be the same user unless they uninstall the game. It is also possible to tie a user to the ID of their device, by doing that they will also save their progress even if they uninstall and then re-install the game. The leaderboard is stored on our servers, so it is always saved, no matter if the game is open or not. Hope this answers your questions :)
@@LootLocker Thank you LootLocker for your help! May I send you a private message with a project I wish to make? Because I need your help, and I have some video tutorials to guide you. Help me?
I can assist you with any errors or bugs while implementing LootLocker or if you have any questions regarding our product, but I can not assist you in creating your project. If you need help creating a project I would suggest looking at www.fiverr.com/ or similar sites and hire a game developer that can make the game for you.
Olá beleza meu chará de sobrenome .. heheheh... Infelizmente o RUclips não traduziu... Queria aprender a fazer leaderboards... Não acho vídeo em português... Mas tô tentando traduzir seu vídeo.. já assistir umas 10 vezes kkkkk
Is it possible to have one guest session be on the leaderboard multiple times? So that if I play I can show my score of 10 and my score of 12 on the leaderboard as place 1 and 2 for example.
Hi! Yes, with a different type of leaderboard, we have a guide here; lootlocker.com/blog/how-to-make-flappy-bird-with-online-leaderboards#15-submitting-scores-to-the-leaderboard This explains how to setup a leaderboard that allows for unlimited entries for each player. Hope this helps!
Hello. I am using a different way to load the Gameoer scene after player's death in my game, you can see the code below: void ResetGameSession() { FindObjectOfType().ResetScenePersist(); PlayerPrefs.SetString("currentScore", scoreText.text); SceneManager.LoadScene("GameOver"); Destroy(gameObject); } When i call the IEnumerator leaderboard here, the score is not being saved in my LootLocker dashboard. Can you please help me to solve it?
Hi! It's a bit tricky to know what the reason could be by not seeing the full code. But here are some things you can try out; - Are you using StartCoroutine() and not jsut calling the coroutine-function? - Does the scene change before calling the score? So it doesn't manage to execute the function? - Add a Debug.Log()-message to the leaderboard function to check if it is being executed or not. Let me know if any of these help you figure it out!
@@LootLocker Thank you for the response! - I wrote this code StartCoroutine(leaderboard.SubmitScoreRoutine(score)); before loading the scene in order to call the coroutine-function. - Yeah the scene is changing as I have 4 levels in my game, but the score is being save in all levels and shows in Game Over scene too.
If your having trouble with the submit score part: "if you look closer all the new function needs is to have the 'leaderboardID' be made into a string instead of an int. So just swap the type out, add some quotes, and you should be all good. I haven't run into any issues yet." - @huggetz
hi bro, my unity dont accept GetScoreListMain, it says to use GetScoreList, but in the nuity console it is making an error. I dont know what I can do, please anyone to help me?
LootLocker works in Unreal Engine, but we don't have an official tutorial for implementing leaderboards yet, it is definitely something that we want to look into in the future! We have documentation on how to set up the LootLocker SDK in Unreal, and it will work with blueprints; docs.lootlocker.com/getting-started/unreal-tutorials/getting-started-with-unreal Hopefully this is enough to get you started, but if you run into any problems or issues, jump into our discord and we'll help you out :) discord.lootlocker.io We don't support authentication through Oculus, but it will work with Guest Login and our White Label Login. Other than that, all features from LootLocker should work. So if you use it like I've done in this video with Guest Login, it should work right out of the box!
Hi! No, we do not support any type of game uploading with LootLocker currently. If you want to upload your game so that people can play it, I recommend you to upload your game to something like itch.io or similar Hope this information helps :)
Hey! If you create a Player Leaderboard, the name is not tied to the player, only the player identifier is, so the player can change their name as many times as they want and their score will still be tied to the same player! Hope this information helps!
For adding more data to the player, I recommend to use our Player Storage feature. You can read more about it here; docs.lootlocker.com/how-to/players/player-storage There is an example of this in our Samples. Go to the Package Manager -> LootLocker -> Samples -> Import. Then open the scene 4 - PlayerStorage.unity Hope this helps :)
For changing to White Label, you just need to omit the GuestLogin stuff from this video and replace it with a White Label session. There is a sample of White Label in our Samples, go to the Package Manager -> LootLocker -> Samples -> Import. Then open the scene 5 - WhiteLabel.unity There is also 3 different types of leaderboards that you can test out included in the Samples; 2a - PlayerTypeLeaderboard.unity 2b - GenericTypeLeaderboardArcadeStyle.unity 2c - FloatLeaderboard.unity Hope this information helps :)
@@LootLocker THANKS FOR THE ANSWER, I WAS ABLE TO SOLVE THE ERROR WITH THE HELP OF THE FORUM, BUT NOW I WANT TO KNOW HOW TO DISPLAY THE PLAYER'S NAME IN SCORE, BECAUSE I DIDN'T WANT ONLY THE SCORE TO APPEAR
WAIT I'M GOING TO REDO THE TUTORIAL, WHEN I DID IT, IT ENDED UP WITH ERROR I'LL DO IT AND IF IT HAS ERROR I'LL CONTACT YOU AGAIN, BECAUSE IN ANOTHER VIDEO I'VE MADE, I'M JUST ABLE TO SHOW THE SCORE
Thanks for the tutorial! But I have this issue that only happens when I build my game. It doesn't upload the scores. I changed the LeaderboardID to the Live one and disabled development mode. And nothing happens. Any ideas why is this happening? Thank you :D
Hi! It's hard to tell with just that information. You can test out the live version within the editor as well, no need to build the game for that. Then you should be able to see if there are any error-messages in the console. Let me know if it helped :)
@JurateDesigns If the token isn't set it usually means that something did not work with acquiring the token. If you look in the Unity Console (all logs, not just error messages), do you have any additional information sent from LootLocker before this error comes up?
Bom Demais!Uma pena não ter um tutorial em português pois as traduções automáticas do youtube não estão funcionando para o seu video no idioma Português!Gostei muito!Obrigado por compartilhar!
Hi Lootlocker Once I set the player name it says "Successfully Set player name"" The debug.log statment right it shows up once I see the leaderboard it shows number after I try again and set a different name than the last one it shows the last name and If I do that continuously it will change to the last name. Is there any solution if there is It will mean A LOT! and thanks for the amazing tutorial loved it! Have a Great day!
A bit tricky to say what it can be without looking at the code. If you get the Debug.Log it means that the name has been succesfully set at least, so might be something with the leaderboard then. You can test to update the leaderboard at the same place as you have the Debug.Log("Succesfully set player name"), that will update the leaderboard with the new name. Let me know if it works!
Hi @@LootLocker Unfortunately I tried my best and it didn't work. What I did was to call the functions in the update method and well it shows an error that too many requests were there. Have a Great day!
Hi! You really shouldn't call the request in the update function, that will end up with too many requests as you saw, it will be roughly 60 per second, so just leaving the game running for 1 minute would result in 3600 requests to the server. Make sure to call the functions only when you need to call them.
Hi! For every feature that LootLocker offers we provide the server. So for things like online leaderboards, player management, equipment, User Generated Content and such you don't need to run your own server.
Hi! Can hopefully make more tutorials for Construct 3 in the future, as of now we have this guide; lootlocker.com/guides/setting-up-online-leaderboards-in-a-construct-3-game Which shows how to create a leaderboard in Construct 3. This part; lootlocker.com/guides/setting-up-online-leaderboards-in-a-construct-3-game#now-this-is-only-the-beginning explains a bit more on how to use the other end-points that LootLocker offers, the structure for all of them is more or less the same, so if you have implemented one of them you just need some small tweaks to implement any of the other ones. Hope this helps :)
The leaderboard always crashes in my mobile apk I do not know why? here is a explanation: So I open it it just repeats the animation of the splash screen like it plays repeatedly EDIT: I forgot to say that it works in the editor
Is it possible for you to get any logs from the device that you are playing on? It is hard to say what it is that causes this issue without any information from the Unity console. You can make a development build in Unity and that will allow you to view the console in case there is an error that comes up when running the game.
This seems very strange, never heard of anything similar. Can you share what Unity version are you using? So I can test an Android build myself to see if I encounter the same issue.
This works pretty good, but I'm having a few problems. 1: The score doesn't get added to the leaderboard unless I stop the game, and start it again. For example: I play the game and get 100 points, then shut down the game and restart it. I play the game again, and get 200 points, but the leaderboard shows that I have 100 points instead of 200. If I play the game a third time, and I get 300 points, it shows I have only 200, etc. Also, if I restart the game without stopping it in the editor, my high score never changes. 2: My leaderboard is in my main menu. I can't get the leaderboard to display before starting the game(player logging in). Has anyone figured out how to get that to work? 3: I know there's an option on the LootLocker site to overwrite the score when it's submitted, but it overwrites even when the score is lower. I have no idea how to have it overwrite only when it's higher. Many thanks to anyone who can help.
Hi! 1: it sounds like you are not either waiting for the score to finish uploading before you sync the new score or you are not syncing it at all. 2: Unfortunately, that's not possible, you need to have started a session before you can retreive the scores. A workaround is to include a cached version of the leaderboard that you include with the build, and then update it when the player has logged in. 3: If you don't have it set to "Always overwrite" score, it will only update the score if it is higher, so just leave it as it is :) Hope this answers your questions :)
@@LootLocker Thank you for the quick reply. 1: I'm not sure what I'm doing wrong for the scores to not be syncing. I'll look through my code again. EDIT: problem solved! 2: I've managed to make this work by putting all my leaderboard code in my main menu as a DontDestroyOnLoad. That way the player logs in automatically, and the leaderboard can be seen. 3: Thank you for letting me know.
Hi! Steam login works a bit differently than Guest Login which is used in the leaderboards video. We have a video on Steam Login with LootLocker here; ruclips.net/video/waX_ch-KhyU/видео.html So just replacing the login method with the Steam-login should be all you need :) Let me know how it goes!
Hi!
Since the release of this video, we have made some updates on some of the functions in the SDK.
1. Use leaderboard key instead of the leaderboard ID (mentioned at 7:45)
2. Replace leaderboardID with your leaderboard key in LootLockerSDKManager.SubmitScore(playerID, scoreToUpload, leaderboardID, (response))
3. Replace GetScoreListMain(leaderboardID, 10, 0, (response)) with GetScoreList(leaderboardKey, 10, 0, (response))
4. Error handling is different in the SDK (mentioned at 9:34), instead of just response.error, use response.errorData.message instead
Thanks for watching
/ Johannes
So we change the ->' string leaderboardID = "xxxxx" ' to ' string leaderboardKey = "NameOfTheKey" ' ?
The xxxxx are the numbers of the ID
Thank you for the great tutorial! It was a huge help for me. Some hints:
At 12:52 I had to use LootLockerLeaderboard instead of Leaderboard (depricated?).
At 10:45 I think it is shorter to write the playerNames and playerScores in one line seperated with comma since both of them are the same type (public TextMeshProUGUI playerNames, playerScores;)
@@dogeatturtle Correct!
Is there anyway we could do this with time like a speedrunning timer?
Can anyone please help, I'm stuck with Sending the leaderboard
LootLockerSDKManager.SubmitScore(memberID, scoreToUpload, leaderboardKey, (response) =>
or
LootLockerSDKManager.SubmitScore(memberID, scoreToUpload, leaderboardID, (response) =>
My other game scripts are not passing score value even though i set referneces.
This is very interesting and simple, can't wait for the next video!
Glad you liked it! There is more to come!
Really helpful, was so confused about adding leaderboard and then found this Guy and he simply rocked it.
That was the exact tutorial i was looking for haha much appreciated man
Very good tutorial, very easy to implement and offers many opportunities for game development, very good job!!!
Crisp, easy-to-follow tutorial!
Thank you!
Thank you for the very well-explained tutorial.
When I implemented the username i am getting the message in the console but when checking the leaderboard the username is just some random numbers pls help??🤔🤔🤔🤔🤔🤔
Great video! I am definitely going to use LootLocker in my game I am developing!
Nice and useful, thanks for sharing. Channel subscribed!
If anyone has issues adding the LootLocker sdk through unity package manager, I had to restart my computer for unity to recognize git was installed.
Great video and great service! If anyone is having trouble with implementation, it seems like the SubmitScore function now requires a string leaderboardKey INSTEAD of the int leaderboardID shown in the video. The key can be found by clicking "edit" on the leaderboard in the web browser- it's the same key we set ourselves during the initial setup on the website.
private void OnTriggerEnter(Collider other)
{
if(other.gameObject.tag == "Enemy")
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex - 1);
scoreManeger.isGameOver = true;
DieRoutine();
}
}
IEnumerator DieRoutine()
{
yield return leaderBoard.SubmitScoreRoutine(ScoreManeger.score);
}
I want that when the player collides with an enemy and the scene also changes when the player collides with the enemy now I dont know why but the score is not being summited can you help please reply!
private void OnTriggerEnter(Collider other)
{
if(other.gameObject.tag == "Enemy")
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex - 1);
scoreManeger.isGameOver = true;
DieRoutine();
}
}
IEnumerator DieRoutine()
{
yield return leaderBoard.SubmitScoreRoutine(ScoreManeger.score);
}
I want when the enemy collides with player the player die and change scene to main menu but the score is not being submitted can you help? Please!
Thank you for this great tutorial. very good explanation by the way !
Looks good so far, logging in worked. Will give the leaderboard a try tomorrow 👍
Great!
Best of luck to you!
Let me know how it goes!
@@LootLocker worked well. In my opinion a leaderboard with multiple values would be nice. But now I just calculated some kind of single score out of my data and stored the data I want to show to my user in the metadata. Seemed straight forward enough to me^^
Great to hear!
Multiple values is a great idea, I'll make a note of it!
Clear explanation and a successful tutorial. Thanks.
What a cool and easy to use product. Glad I found this!
I think we need more videos like this for each element of the content such as player data cloud saving, etc
Good tutorial, I came from Score Space Game Jam
Your videos are fantastic! I hope you'll consider making a tutorial on leaderboards in Unreal Engine!
I've been trying for days to find a good way to make a leaderboard. Never knew it was this easy lol
Hey im trying to follow this tutorial but can't get the leaderboard key to work rather than the leaderboard ID with it keep saying it doesnt exist in the current context to my leaderboard key
Wait i fixed it great tutorial!
New problem now sorry at 10:12 in that bit of code where it says score i have my time as im doing a speedrun game but it says i cant convert float to int and dunno how to fix it and any help would be appreciated thanks :)
Hi!
There is an example included in the SDK in the Samples folder that shows an example on how to make a float leaderboard, so go to the scene called 2c - FloatLeaderboard.unity and look at the code there.
Hope this helps :)
@@LootLocker Hey im still very struggling to sort it out and very new to coding so don't really know what to do?
Did you take a look at the float leaderboard example that is included inside of the SDK?
That should contain all the code necessary to create a float leaderboard :)
@@LootLocker Ill have another look when i can probably just didn't look at it correctly knowing me :)
Hey sorry its me again im just really struggling with it and wondered if there is anywhere else i can get help for it! :)
Thank you For Easy Tutorial!
This video would have helped so much a year ago! Thanks for the upload though
Hello, when I set the leaderboard to live on the website it changes ID, should I update it too in the script? Im asking because I'm getting a new error
Could not set player nameSDK not initialised
UnityEngine.Debug:Log (object)
Hi!
Yes, when changing to the live environment (development mode off), you will need to change the id of the leaderboard. What you also can do is to instead use the "leaderboard Key", then you can use the same name for your leaderboard between stage and live.
The SDK initialized is not because of the reason with leaderboard ID being wrong.
Can you check that Guest Login is enabled here my.lootlocker.io/settings/platforms/guest for the live-environment (you change to the live-environment in the bottom left corner)
Let me know if it worked :)
@@LootLockerHi, I am also getting the same error
Could not start session ............................ (This is from LoginRoutine Coroutine)
Could not set PlayerName: LootLocker SDK has not been initialized, please start a session to call this method
but im not getting any valid solution for this yet
So hey, when I use (response) => in SubmitScore function, compiler tells me that it was deprecated and will be removed soon, and I should use ActiononComplete instead. How do I do that, cant find any explanation for this in API?
if you look closer all the new function needs is to have the 'leaderboardID' be made into a string instead of an int. So just swap the type out, add some quotes, and you should be all good. I haven't run into any issues yet.
@@trixygames7705 Oh thanks. I also have a problem where if I request the name of the player in the leaderboard it returns empty field. Know smth about that? :D
@@trixygames7705 Oke nevermind about my last comment, to get the name you should first send the name using LootLockerManagerSDK.SetPlayerName function. I wish it was mentioned somewhere tho, so I wouldnt have to dig through all the functions :D
They should probably make better documentation
@@huggetz I had the exact same issue earlier actually! glad to see everything worked out for you.
This is great! Very easy to use.
I’m making a speed running game, is there anyway to make the scores look like 00:00:00.00?
Hi!
Yes, that should be possible :).
A time is just something that counts up, so it's mostly about formattinging it.
For example, this code below will format milliseconds into the format hours:minutes:seconds;
int ms = 123456;
TimeSpan ts = TimeSpan.FromMilliseconds(ms);
Console.WriteLine(ts.ToString(@"hh\:mm\:ss"));
So if you upload the score as milliseconds, you can decide on the client on how you want to format it.
Hope this helps!
@@LootLocker thanks!
Your tutorials are excellent as always Johannes. With the Flappy Bird Online Leaderboard, I was able to implement a leaderboard in my game. Now I'm working on User Generated Content, and I was so thrilled to see LootLocker has that too! Loving LootLocker more and more. Are there any UGC tutorials as of yet? :)
Thank you, makes me really happy to hear that :)
Don't have any UGC-tutorials currently. It is planned, but haven't started on it yet so can not say when it'll be out, but hopefully soon :)
good tutorial, but it don't start the session. how can i fix this? i have no idea
Hi!
Thank you!
It's hard to understand the issue without seeing any of the code and what response you get from the server.
You an also look at the source code of my implementation at:
github.com/LootLocker/score-squasher
Hope this helps!
Otherwise, you can join our discord at discord.lootlocker.io and we can try to look at the issue more closely.
LootLocker made Leaderbords easy and now its should make multiplayer games because its hard like the leaderbord lol :D
at 10:09 when it gives me an error saying: " error CS0119: 'score' is a type, which is not valid in the given context"
Hi!
Have you made a variable called score?
It needs to be an integer (int), so somewhere in your script you need to make a variable called score to use it.
Hope this information helps :)
@@LootLocker Thanks, I got it working but I was wondering if there is an way to blacklist names to prevent players from entering racist names.
@@Milannnnn Hi, we don't have built in support for this currently, but you could do a check against a list of words that you don't accept before you send the request to LootLocker.
Awesome thanks!
Hello. Thanks for this solution and tutorial. I'm having an issue though. As I need an "arcade style" leaderboard ( many players will play on the same pc ) So I made a generic leaderboard, changed my leaderBoardID in the code. I saved my sln and then I can see in the log that only the old leaderboard keeps on being called whatever I do ..
By chance does this system support a stat like total games completed, along with total completed for player? That's what I need to implement. More of a count than scores directly. So far it looks like I need to roll my own
Hi!
There are several ways to solve this with LootLocker, you could either do it with multiple leaderboards. Or you could use key/values storage to store data on the players;
docs.lootlocker.com/how-to/players/player-storage
So should definitely be possible to solve.
Hope this information helps!
Hi I love this tutorial, but I've been stuck for a long time at 9:34 on the Error text since I get this error : CS1061 'LootLockerSubmitScoreResponse' does not contain a definition for 'Error' and no accessible extension method 'Error' accepting a first argument of type 'LootLockerSubmitScoreResponse' could be found (are you missing a using directive or an assembly reference?) Assembly-CSharp C:\Users\lilst\Documents\Games\Time Flies\Assets\Scripts\Leaderboard.cs 28 Active Can someone Please help me?
Hi!
We recently updated the SDK with a new way of handling errors, so you need to do it a bit differently now;
docs.lootlocker.com/reference/deprecation-guide/unity-sdk-deprecation-log/version-2.0.0
Read the first bullet-point in that deprecation guide and you should be good to go!
Thanks for reaching out, I'll update the sticky comment with this information as well!
On the visual studio i cant find "LootlockerSDKManager" It should turn on green right but mine still white, how can i fix that?....Thanks
OML SO UNDEERRATED
GENIUS!!!!! You saved me!!!!!!
how do I put this thing in my player script bro?? im just using a basic function (void) not coroutine and i cant seem to be able to refference the coroutine we made for the function
nvm i figured it out
@@dionis9760 i have a problem with thiss too.. How did you figure it out.
@@rawal4sky656 i made another void function in the playermanager(log in) script, this void would call the set up coroutine, make sure it is public, then in your player script just reference the object with the playermanager script, get component and call the function. in ur player script you would put this: public gameObject managerObject; managerObject.GetComponent().whatever u neamed ur function();
@@dionis9760 thanks :)
@@dionis9760 thanks :)
Mañana lo implementará a mi juego, pero aun no se si este tutorial es indicado para juego de pc y no de Android.
Mi juego es Android funciona igual los 5 tips?
Hi! I don't speak spanish so I used google translate for your comment.
This will work on any platform; Android, iOS, PC, Nintendo Switch and more. LootLocker is completely cross platform so it should work regardless of what platform you're aiming for.
Excellent video. Congratulations. How is it controlled so as not to duplicate names?
If anyone is having an issue with Fetching the high scores (about being deprecated and will be removed soon) I fixed it by first:
- Changing "LootLockerSDKManager.GetScoreListMain" to "LootLockerSDKManager.GetScoreList" (remove 'Main')
- And converting the leaderboardID to a string with "leaderboardID.ToString()"
So it'll look like this:
"LootLockerSDKManager.GetScoreList(leaderboardID.ToString(), 10, 0, (response) =>"
leaderboardID should be changed to your leaderboardKey
Thank you so much ❤ ❤ ❤
got the following error after installing with the url using the package amanger
Backend produced unparsable log entry
{"msg":"newNode","annotation":"Csc Library/
hello thanks again I would like to know if I can leave my points table with the best 100 players and not 10?
Hi!
Yes, just replace the 10 in GetScoreListMain with 100 :)
@@LootLocker The bigger the list. Will the data load time be longer?
It might take a little longer for a really big list, but it will be barely noticeable, so most likely not something that you need to worry about :)
Can score be a decimal? Like for a speedrun timer?
Hi!
We currently only support ints, but a workaround would be to multiply the decimal score with as many decimals as you want, and then when you get the score back, you divide it by the same amount.
So let's say that you want 3 decimals,
- format the score to have 3 decimals; 1.2345 becomes 1.234,
- then multiply by 1000; 1.234 becomes 1234
- Upload score 1234 to LootLocker
- When you show the scores, divide by 1000; 1234 shows as 1.234
Hope this helps :)
@@LootLocker thanks
Another question, Hi Lootlocker I was wondering, is there anyway to format the scores in the lootlocker website? to like decimals as im using time as my score? is that possible?
Hi!
Unfortunately we don't support changing the way the scores are formatted, it's a good idea though, I'll make sure to add it to our list!
I just used Unity TMP settings like character limit.
@@pixelpat777 k ty
For some reason 10:25 my score isnt uploaded? there isn't anything there
It's hard to say what's wrong with just this information unfortunately. Do you get any errors in the Unity Console?
can i get directed to the documentation or a tutorial on how to do this with unreal engine instead of unity please
Hi, the documentation for Unreal can be found at our documentation website:
Make sure to click the tab "Unreal" to see the implementation for Unreal.
Guest Login - docs.lootlocker.com/players/authentication/guest-login
Leaderboards - docs.lootlocker.com/game-systems/leaderboards/submit-scores-to-leaderboards
Hope this information helps!
I've double checked everything and in my FirstPersonController script I'm getting the errors
he name 'score' does not exist in the current context
he name 'leaderboard' does not exist in the current context
what could be the problem?
Hard to say exactly without seeing the script, but it sounds like the variables does not exist.
Have you created the variables? Like int score, string leaderboardKey/leaderboardID?
@@LootLocker I have but I'm just realising they're in a different script so I may have to reference them in using
Thank you for your amazing video!
I have a simple question. Does iOS support this feature as well?
Thank u very much for the guide! Losted 2 hours before find this one. Got question, while I was fitting your system in game, new errors occured. Your request has an error {"error":"Bad Request","message":"leaderboard does not exist" and FailedInternal Server Error -- We had a problem with our server. Try again later. Did I right understand that problem is that servers not working, so code can't connect to leaderboard?
Hi!
The servers are working, the FailedInternal Server Error is most likely just a follow-up-error on the first error.
The error "leaderboard does not exist" means that the leaderboard that you are trying to access does not exist, so you are either in the wrong environment (development mode true/false in Unity vs Stage/Live on LootLocker dashboard) or the leaderboard hasn't been created.
Double check that development mode is false and the leaderboard is in the "Stage" environment on the LootLocker dashboard, or that development mode is true and the leaderboard is in the "Live" environment on the LootLocker dashboard.
Let me know if this information helps you figure it out!
@@LootLocker yep, reason was in code, now works perfectly, thank you!
Hey I am getting build issues while building the game after implementing this headboard system. Assets\LootLockerSDK\Runtime\Editor\AttributionHandler.cs(4,13): error CS0234: The type or namespace name 'Plastic' does not exist in the namespace 'Unity' (are you missing an assembly reference?)
Please help early as it is for game jam
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002da] in :0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in :0
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
One more error!
@@paravverma4788 Hi!
We currently have a bug on the Unity Asset Store SDK, hopefully getting a fix out soon. Until that is fixed you can use the github version instead;
github.com/LootLocker/unity-sdk
bro you saved my day
How to set my leaderboard to save the worst score, because I work on racing game so I need the best time and its the worst score? @LootLocker
Hi!
When you create the leaderboard in the Web Console you can change it to descending, that will make the lowest score be in the top spot :)
Very usfeul! But, LootLocker allow unique identifiers per device?
Do your scores get overwritten or stacked?
Hi!
Yes, you can use docs.unity3d.com/ScriptReference/SystemInfo-deviceUniqueIdentifier.html
when starting a session, then the ID will be unique for every player.
When you create the leaderboard you can choose if you want the score to be overwritten every time or if it only should update if it is higher than the previous score.
@@LootLocker How do you set it up so it only updates the score if it's higher than the previous score? The only setting I found updates the score even if it's lower, which I don't want.
Do you have plans for Unreal Engine tutorials?
Hi!
Yes, we have plans for Unreal tutorials as well, don't know when we'll start working on those, but they are in the pipeline!
hi there, im getting an error. I saw in some videos that they use LootLocker.Response but its not showing up as its saying that doesnt exist. how do i fix this?
Hi!
It's hard to say exactly why this hapens, but if the "LootLocker.Response" doesn't show up, it means either that LootLocker hasn't been properly installed or there might be something wrong with your IDE.
I recommend that you test to re-install LootLocker again andsee if that works.
Hope this helps!
@@LootLocker ok thanks for responding!
guest login not working for me , i dont get compile errors/runtime errors , but i get the debug log message "error starting lootlocker session" i followed the guide on the website (the uptodate one) and decided to come here to see if there was any explanation of why sessions wont start.
Hi!
Thanks for reaching out!
We have a video on how to do Guest Login which might help;
ruclips.net/video/hiPDtq9CecQ/видео.html
Also, inside of the LootLocker SDK in Unity, if you go to Package Manger and click LootLocker, you can select "Samples" and choose "Import". Then open the scene "1a - GuestLoginLootLockerIdentifier.unity" or "1b - GuestLoginUniqueIdentifier.unity" to see a working example of two different ways of Guest Login.
Hopefully this will help you solve the issue, let me know how it goes :)
@@LootLocker yeah im just not bright lol i didnt have guest login enabled
For some reason I am getting a "No platform supplied" error. There is no option for me to set the platform in project settings in Unity. How do I fix this?
Hmm, that sounds strange. What function are you using for starting the session?
@@LootLocker My apologies, I was just using StartSession instead of StartGuestSession. However I am now receiving a new NullReferenceException error saying that the LootLockerSDKManager needs to reference an object in order to SubmitScore, when your code never references an object.
@@jimboomafoo Hmm, yeah, all of that should be automatic. Do you get any other information in the console?
@@LootLocker Sorry for late reply. I pretty much copied the code in this video verbatim and I am not getting any errors anymore, but I'm still having issues. Only one score ever shows up on the scoreboard for some reason, even though I have had multiple people test it across multiple devices. Does this have to do with the leaderboard Key replacing the ID, or is there a larger issue?
@@jimboomafoo
The leaderboard key/id should not have anythingt to do with this.
How do you start the guest session?
To get a newuser on every device, you need to start it without an identifier, so StartGuestSession((response)=>{etc.. etc..})
I ve found a folder in the package called Test Framework, and is there anything I can use as a framework?
Hi!
No unfortunately, that folder is for testing the SDK internally, not anything you can build upon unfortunately.
However, inside the package-manager, you can click Samples and check out a few examples of player login, leaderboards and such.
Hope those examples help!
Hi LootLocker Guy, i'm again. How can I limit the characteres in the input field? For example, the player can only put 7 characteres for his name.
Hi!
You can set that up on the Input-field in Unity :)
@@LootLocker I haven't saw him. Thanks
Great tutorial!! I was also wondering how to limit the input characters for the players name, I'm using gamemaker studio 2. Any advice would be greatly appreciated, thank you!
Hey, thanks for the video. I implemented this system on my own website, but I found that when users enter their name, it just appears as random numbers.
Any idea what might be causing that?
It sounds like you are looking at the PlayerID. The player ID is a random number essentially. To change the players names you would use the Player Names function and then display the players names; docs.lootlocker.com/players/player-manager/names
Hope this helps :)
Hello, I am facing a problem. My table works fine in the unity editor, but when I compile the android app, it stops showing.
Hi!
Sorry to hear that, can you explain the steps that you do when building the android app? Do you change any settings or such?
@@LootLocker I repeated all the steps from the video. In the lootlocker web console, I switched to live mode, and installed the android platform and the guest. Next, I overwrote the API in the editor with a new one. The android platform is set in the lootlocker sdk in the project settings. Development mode is also disabled in the editor. Everything works in the editor, but, as far as I can tell, in the apk file on the android, the lootlocker services do not start at all.
Updated:
I also tried this code in a new project, where I left the default settings (I thought that my project settings might somehow affect the functionality of the lootlocker services). This did not give a result, everything works so far only in the editor
We just noticed a bug with the latest version of LootLocker that might be causing this, a fix should be out in a few hours.
Will write here again when the fix is out.
@@LootLocker I updated to the new version and everything works now. Thanks a lot!
hi, how can we add one more list with highscore ?
ex ; playername - highscore - time
Hi!
If you only want to show the time, then you can use the metadata field (just add an additional string to the SubmitScore-funvtion). If you also want to be able to sort by it (choose top time or top highscore), then you need to create an additional leaderboard for it and download both of them.
Hope this information helps :)
How can I prevent that two users, on different devices, when registering ( though white label) can use the same user name (without using an own server, i.e. by querying your API)?
We unfortunately don't have that feature yet (it is planned, but can not say when it will be implemented). A workaround is to store a new users name in a leaderboard, and then when the player enters a name, check that against the leaderboard of names essentially.
Hope this gives you some ideas :)
Hi,
I am working on a mobile game. where you can chose between 2 characters. first time you open the game you can create character, next time you can only choose login.
my question is. if you delete the app. and install again. will you then get a new ID?
Hi!
It depends on what identifier you use when starting the session.
If you just do StartGuestSession() a new identifier will created if the player uninstalls the game.
But if you instead do StartGuestSession("someUniqueIdentifier") like this one: docs.unity3d.com/ScriptReference/SystemInfo-deviceUniqueIdentifier.html
it will be tied to the device that you are playing on instead.
When you add LootLocker to Unity, inside the package manager, you can click Samples and then Import.
Click Scenes-> Sample 1b - GuestLoginUniqueIdentifier to see how to set it up with a unique identifier.
Hope this helps!
Don't know why it keeps displaying login failed when I click play. I've imported Version 1.1.42, following the same code and process(add package, paste the game API key), and enabled all the platforms in web, including Guest Login..but still not working
Hi!
Can you post the error that you receive?
hmm the loot locker SDK doesnt seem to be showing up for me in the project settings tab, ive tried reinstalling twice and unity says that the package has been installed. using version 1.1.42
UPDATE- I had to wait a while but it just appeared
Hey Hello, great video it helped me really out. I have a quick question, I want to show the top 10 on my leaderboard and also the score and position in the list of the player, when he isn't in the Top 10. How could I do that? And also, how could I check, if a name is already taken?
For getting the players score and the surrounding score you can use this function here; docs.lootlocker.com/game-systems/leaderboards/retrieving-leaderboard-data#get-a-single-entry-score-+-surrounding-entries-score
As for checking if a player name already exists, that is a feature we currently don't have built in, but there is a workaround that you can use to get the same behaviour;
string nameToSet = "TestName";
LootLockerSDKManager.GetPlayerName((response) =>
{
if (response.success)
{
if (response.name == nameToSet)
{
Debug.Log("Player name is already set to:" + response.name);
}
else
{
Debug.Log("Player name is not set to:" + nameToSet);
Debug.Log("Setting player name to:" + nameToSet);
LootLockerConfig.current.currentDebugLevel = LootLockerConfig.DebugLevel.AllAsNormal;
LootLockerSDKManager.SetPlayerName(nameToSet, (response) =>
{
if (response.success)
{
Debug.Log("Successfully set player name to:" + response.name);
}
else if (response.statusCode == 409)
{
Debug.Log("Error setting player name, it already exists");
}
else
{
LootLockerConfig.current.currentDebugLevel = LootLockerConfig.DebugLevel.All;
Debug.Log("Error setting player name" + response.Error);
}
LootLockerConfig.current.currentDebugLevel = LootLockerConfig.DebugLevel.All;
});
}
}
else
{
Debug.Log("Error getting player name" + response.Error);
}
});
This code first gets the players name, and checks if it is set already to the name that you are trying to set, if it isn't then it will try to set it.
For this to work you also need to enable "Use Unique Player Names" in the Misc. tab here; console.lootlocker.com/settings/game
Hope this helps!
Great tutorial!! I was also wondering how to limit the input characters for the players name, I'm using gamemaker studio 2. Any advice would be greatly appreciated, thank you!
We have a leaderboard extension available for GameMaker here;
marketplace.yoyogames.com/assets/10767/easy-leaderboard-by-lootlocker
I recommend using that with Game Maker.
To limit the length of the players name would just be as simple as limiting the input that the player adds in the input-field essentially.
So something like this:
playerFinishedName = " ";
if(string_length(keyboard_string) < 10)
{
playerFinishedName = playerInput;
}
And then use LootLockerSetPlayerName(playerFinishedName) when sending in the name.
Hope this helps :)
Great video and very easy to implement. However, unless I did something wrong, even if I start a game and enter a different username than the last one, it just overrides that entry instead of creating a second entry in the leaderboards. Does this has something to do with the "PlayerPrefs.SetString("PlayerID", response.player_id.ToString());" command, since the player_id is presumably always the same? Is there a way to create a new entry in the leaderboards for every new username?
Hi!
Thank you!
When the game is started, it is tied to the current device that you are playing on, guest login saves the current user on the current device. So to upload a new score with a new player, you will need to play on another device. If you change the leaderboard type to be generic instead, then what you upload the score with will be used instead.
However this also means that anyone can upload a score with any name and will overwrite a previous users name and score if they use the same name.
If you want more "arcade style" leaderboards where you can upload as many scores as you want with duplicate names, we have a guide on how to do that with a Flappy Bird game here (scroll down to the "Submitting the score" part to see how I implemented it) ;
www.lootlocker.io/blog/post/how-to-make-flappy-bird-with-online-leaderboards/#15-submitting-scores-to-the-leaderboard
Here is the source code for that project also: github.com/LootLocker/flappy-loot
Hope this helps!
If you want more help, feel free to join our discord at: discord.lootlocker.io
@@LootLocker I dont know if I did it the right way, but I found a similar issue on your discord the solution to which was to request a new Guest Session and use the player's username as the player_identifier. Now every new username creates a new entry in the leaderboards.
You can do it like that, but it might cause strange behaviours.
When you create a guest session with the player name as the identifier, that means that anyone that inputs that name will log in as that player.
So if 2 players call themselves "Player" for example, they are the "same player" and will overwrite each others score on the leaderboard.
So as long as you are 100% sure that no players will use the same name, it should be fine, otherwise I would recommend to have it as you had it before and let LootLocker decide the guestID (every new player will get a new ID) or implement it as I did in our Flappy Bird guide:
www.lootlocker.io/blog/post/how-to-make-flappy-bird-with-online-leaderboards/#15-submitting-scores-to-the-leaderboard
If you want to create new players for testing purposes you can clear the current user by calling PlayerPrefs.DeleteKey("LootLockerGuestPlayerID"), this will create a new user the next time that you start the game.
Hope this helps!
/Johannes
@@LootLocker Wouldn't the way I had it before allow for different players on the same device to override each other's scores and fetched usernames since they are on the same device?
If that is the case, I would want to set the leaderboard type to generic, but as far as I understand the same issue that my current implementation has would arose (Same-named usernames would override each other).
Would trying White Label Login solve these issues, since it would require a password for logging in?
My end goal is to be able to allow for multiple scores from the same device, but with different usernames, but to not allow for others to enter an already picked username.
I apologize if I have understood something incorrectly and I am wasting your time for no reason.
@@Ayreontasia Yes, you are correct; on the same device it would be the same user with the previous implementation.
If you want to use the same device, then White Label is probably the way to go as you say.
No, definitely not wasting my time!
Glad to be of help!
hello I have a problem, you use routine for the leaderboard but my function is void how do I do it?
Hi!
You could either do StartCoroutine("theRoutineYouWantToStart") or convert the function to a void instead. Instead of using the "yield return new WaitWhile()", you can put the next call inside of the previous call.
Have a look at this script, at line 122 I do one request to the server, and if that is succesful, I do another request at line 134;
github.com/LootLocker/white-label-login-example/blob/main/Assets/Scripts/WhiteLabelManager.cs
This is for another one of our features called White Label, so ignore what the functions do, and just look at how the structure of the requests are made.
Hope this helps :)
Hi, do you offer a method to delete user data directly from the app?
I am developing a game, and according to European laws, for the game to be accepted in the play store the game must offer a way to delete the data, should the user want it.
Hi!
We are currently working on that exact feature. So it is not possible today, but it is currently being worked on so it will be possible in the near future.
@@LootLocker
Happy to hear that.
Could you notify me here when this feature will be available?
Of course!
I'll ping you when it's available :)
Will the name stay the same after a player restart the smartphone?
Will the leader board be always saved after all players reopen the app?
Hi!
Yes, the users name will stay the same even when the player restarts the game or their phone. They will always be the same user unless they uninstall the game. It is also possible to tie a user to the ID of their device, by doing that they will also save their progress even if they uninstall and then re-install the game.
The leaderboard is stored on our servers, so it is always saved, no matter if the game is open or not.
Hope this answers your questions :)
@@LootLocker Thank you LootLocker for your help!
May I send you a private message with a project I wish to make? Because I need your help, and I have some video tutorials to guide you. Help me?
I can assist you with any errors or bugs while implementing LootLocker or if you have any questions regarding our product, but I can not assist you in creating your project.
If you need help creating a project I would suggest looking at www.fiverr.com/ or similar sites and hire a game developer that can make the game for you.
@@LootLocker Thank you for the info :)
Olá beleza meu chará de sobrenome .. heheheh... Infelizmente o RUclips não traduziu... Queria aprender a fazer leaderboards... Não acho vídeo em português... Mas tô tentando traduzir seu vídeo.. já assistir umas 10 vezes kkkkk
Is it possible to have one guest session be on the leaderboard multiple times? So that if I play I can show my score of 10 and my score of 12 on the leaderboard as place 1 and 2 for example.
Hi!
Yes, with a different type of leaderboard, we have a guide here;
lootlocker.com/blog/how-to-make-flappy-bird-with-online-leaderboards#15-submitting-scores-to-the-leaderboard
This explains how to setup a leaderboard that allows for unlimited entries for each player.
Hope this helps!
Hello.
I am using a different way to load the Gameoer scene after player's death in my game, you can see the code below:
void ResetGameSession()
{
FindObjectOfType().ResetScenePersist();
PlayerPrefs.SetString("currentScore", scoreText.text);
SceneManager.LoadScene("GameOver");
Destroy(gameObject);
}
When i call the IEnumerator leaderboard here, the score is not being saved in my LootLocker dashboard. Can you please help me to solve it?
Hi!
It's a bit tricky to know what the reason could be by not seeing the full code.
But here are some things you can try out;
- Are you using StartCoroutine() and not jsut calling the coroutine-function?
- Does the scene change before calling the score? So it doesn't manage to execute the function?
- Add a Debug.Log()-message to the leaderboard function to check if it is being executed or not.
Let me know if any of these help you figure it out!
@@LootLocker Thank you for the response!
- I wrote this code StartCoroutine(leaderboard.SubmitScoreRoutine(score)); before loading the scene in order to call the coroutine-function.
- Yeah the scene is changing as I have 4 levels in my game, but the score is being save in all levels and shows in Game Over scene too.
DOES NOT WORK, followed step by step video & documentation! *UPDATE: reply has solution
If your having trouble with the submit score part:
"if you look closer all the new function needs is to have the 'leaderboardID' be made into a string instead of an int. So just swap the type out, add some quotes, and you should be all good. I haven't run into any issues yet." - @huggetz
@@stazzadev3532 Thanks! I also didn't know you had to change the game id in Unity when switching to live.
hi bro, my unity dont accept GetScoreListMain, it says to use GetScoreList, but in the nuity console it is making an error. I dont know what I can do, please anyone to help me?
Hi!
You can just use GetScoreList instead of GetScoreListMain they work the same :)
@@LootLocker Ok, thank you!
@@LootLocker Ok, Thankss!
Is there a way to contact you mate? I have a problem during the implementation process, thank you
Hi!
You can write here, join our discord (discord.lootlocker.com) or write an email to us :)
Feel free to contact me in any way you'd like :)
@@LootLocker Hi! Thank you for the response, I just sent you an email 🤗
Please a Tutorial to Unreal Engine :(
Is oculus Quest compatible?
Thanks
LootLocker works in Unreal Engine, but we don't have an official tutorial for implementing leaderboards yet, it is definitely something that we want to look into in the future!
We have documentation on how to set up the LootLocker SDK in Unreal, and it will work with blueprints;
docs.lootlocker.com/getting-started/unreal-tutorials/getting-started-with-unreal
Hopefully this is enough to get you started, but if you run into any problems or issues, jump into our discord and we'll help you out :)
discord.lootlocker.io
We don't support authentication through Oculus, but it will work with Guest Login and our White Label Login. Other than that, all features from LootLocker should work. So if you use it like I've done in this video with Guest Login, it should work right out of the box!
HI, can I upload this game on something of the website? or people need to download the game to compete? Sorry I am new to this stuff
Hi!
No, we do not support any type of game uploading with LootLocker currently. If you want to upload your game so that people can play it, I recommend you to upload your game to something like itch.io or similar
Hope this information helps :)
What if the person changes his name? How can he over-write his old score?
Hey!
If you create a Player Leaderboard, the name is not tied to the player, only the player identifier is, so the player can change their name as many times as they want and their score will still be tied to the same player!
Hope this information helps!
@@LootLocker Thanks for the clarification!
slay bestie, anyway how do i do this while using white label login and not the guest session log in?
also to set values like coins, scores, hearts, deaths, would i use playerprefs or is there a specific lootlocker request script that i can call?
For adding more data to the player, I recommend to use our Player Storage feature.
You can read more about it here; docs.lootlocker.com/how-to/players/player-storage
There is an example of this in our Samples. Go to the Package Manager -> LootLocker -> Samples -> Import.
Then open the scene 4 - PlayerStorage.unity
Hope this helps :)
For changing to White Label, you just need to omit the GuestLogin stuff from this video and replace it with a White Label session. There is a sample of White Label in our Samples, go to the Package Manager -> LootLocker -> Samples -> Import.
Then open the scene 5 - WhiteLabel.unity
There is also 3 different types of leaderboards that you can test out included in the Samples;
2a - PlayerTypeLeaderboard.unity
2b - GenericTypeLeaderboardArcadeStyle.unity
2c - FloatLeaderboard.unity
Hope this information helps :)
@@LootLocker thanks
Can the scores be floats?
help my project not conect the in server
Hi!
It's hard for me to say what the issue is without seeing any code or error messages, do you get any error messages?
@@LootLocker THANKS FOR THE ANSWER, I WAS ABLE TO SOLVE THE ERROR WITH THE HELP OF THE FORUM, BUT NOW I WANT TO KNOW HOW TO DISPLAY THE PLAYER'S NAME IN SCORE, BECAUSE I DIDN'T WANT ONLY THE SCORE TO APPEAR
WAIT I'M GOING TO REDO THE TUTORIAL, WHEN I DID IT, IT ENDED UP WITH ERROR I'LL DO IT AND IF IT HAS ERROR I'LL CONTACT YOU AGAIN, BECAUSE IN ANOTHER VIDEO I'VE MADE, I'M JUST ABLE TO SHOW THE SCORE
new error, now it says sdk not initialized, nvm i somehow made it work
can you please tell how you solved it
Thanks for the tutorial! But I have this issue that only happens when I build my game. It doesn't upload the scores. I changed the LeaderboardID to the Live one and disabled development mode. And nothing happens. Any ideas why is this happening? Thank you :D
Hi!
It's hard to tell with just that information. You can test out the live version within the editor as well, no need to build the game for that. Then you should be able to see if there are any error-messages in the console.
Let me know if it helped :)
@JurateDesigns
If the token isn't set it usually means that something did not work with acquiring the token.
If you look in the Unity Console (all logs, not just error messages), do you have any additional information sent from LootLocker before this error comes up?
Bom Demais!Uma pena não ter um tutorial em português pois as traduções automáticas do youtube não estão funcionando para o seu video no idioma Português!Gostei muito!Obrigado por compartilhar!
Hi Lootlocker
Once I set the player name it says "Successfully Set player name"" The debug.log statment right it shows up once I see the leaderboard it shows number after I try again and set a different name than the last one it shows the last name and If I do that continuously it will change to the last name. Is there any solution if there is It will mean A LOT! and thanks for the amazing tutorial loved it!
Have a Great day!
A bit tricky to say what it can be without looking at the code. If you get the Debug.Log it means that the name has been succesfully set at least, so might be something with the leaderboard then.
You can test to update the leaderboard at the same place as you have the Debug.Log("Succesfully set player name"), that will update the leaderboard with the new name.
Let me know if it works!
Hi @@LootLocker
Unfortunately I tried my best and it didn't work. What I did was to call the functions in the update method and well it shows an error that too many requests were there.
Have a Great day!
Hi!
You really shouldn't call the request in the update function, that will end up with too many requests as you saw, it will be roughly 60 per second, so just leaving the game running for 1 minute would result in 3600 requests to the server.
Make sure to call the functions only when you need to call them.
NICE! Can you say, you need to have your server,or lootlocker will give you server?
Hi!
For every feature that LootLocker offers we provide the server. So for things like online leaderboards, player management, equipment, User Generated Content and such you don't need to run your own server.
@@LootLocker 0_0
Its so nice) Just what i was needed for making my online fangame) Its so nice that its free, and helpful) Tnx a lot)
Hi, can you make tutorial on how to set player name in Construct 3 ?
Hi!
Can hopefully make more tutorials for Construct 3 in the future, as of now we have this guide;
lootlocker.com/guides/setting-up-online-leaderboards-in-a-construct-3-game
Which shows how to create a leaderboard in Construct 3.
This part;
lootlocker.com/guides/setting-up-online-leaderboards-in-a-construct-3-game#now-this-is-only-the-beginning
explains a bit more on how to use the other end-points that LootLocker offers, the structure for all of them is more or less the same, so if you have implemented one of them you just need some small tweaks to implement any of the other ones.
Hope this helps :)
Where can we get the sample files to use as a template?
Hi!
The full source code of the project is available here;
github.com/LootLocker/score-squasher
Hope this is what you were looking for!
@@LootLocker yupp. Thanks.
Any chance there are source files for game maker studio 2?
The leaderboard always crashes in my mobile apk I do not know why?
here is a explanation: So I open it it just repeats the animation of the splash screen like it plays repeatedly
EDIT: I forgot to say that it works in the editor
Is it possible for you to get any logs from the device that you are playing on? It is hard to say what it is that causes this issue without any information from the Unity console.
You can make a development build in Unity and that will allow you to view the console in case there is an error that comes up when running the game.
@@LootLocker I cannot log anything but once I removed lootlocker sdk it started to work just fine
This seems very strange, never heard of anything similar.
Can you share what Unity version are you using?
So I can test an Android build myself to see if I encounter the same issue.
@@LootLocker 2022 lts
This works pretty good, but I'm having a few problems.
1: The score doesn't get added to the leaderboard unless I stop the game, and start it again. For example: I play the game and get 100 points, then shut down the game and restart it. I play the game again, and get 200 points, but the leaderboard shows that I have 100 points instead of 200. If I play the game a third time, and I get 300 points, it shows I have only 200, etc.
Also, if I restart the game without stopping it in the editor, my high score never changes.
2: My leaderboard is in my main menu. I can't get the leaderboard to display before starting the game(player logging in). Has anyone figured out how to get that to work?
3: I know there's an option on the LootLocker site to overwrite the score when it's submitted, but it overwrites even when the score is lower. I have no idea how to have it overwrite only when it's higher.
Many thanks to anyone who can help.
Hi!
1: it sounds like you are not either waiting for the score to finish uploading before you sync the new score or you are not syncing it at all.
2: Unfortunately, that's not possible, you need to have started a session before you can retreive the scores. A workaround is to include a cached version of the leaderboard that you include with the build, and then update it when the player has logged in.
3: If you don't have it set to "Always overwrite" score, it will only update the score if it is higher, so just leave it as it is :)
Hope this answers your questions :)
@@LootLocker Thank you for the quick reply.
1: I'm not sure what I'm doing wrong for the scores to not be syncing. I'll look through my code again. EDIT: problem solved!
2: I've managed to make this work by putting all my leaderboard code in my main menu as a DontDestroyOnLoad. That way the player logs in automatically, and the leaderboard can be seen.
3: Thank you for letting me know.
Can i acces the leaderboard data without opening the game sceen?
Hi!
I don't fully understand what you mean, could you try to explain a bit more what you mean :)
How do you use the steam username as their name?
Hi!
Steam login works a bit differently than Guest Login which is used in the leaderboards video.
We have a video on Steam Login with LootLocker here; ruclips.net/video/waX_ch-KhyU/видео.html
So just replacing the login method with the Steam-login should be all you need :)
Let me know how it goes!
can show icon at leaderboard?
Hi!
Can you give some more explanation to what you are referring to?