Search Unity

Feature Request Leaderboard and Achievement

Discussion in 'Unity Gaming Services General Discussion' started by Deleted User, Nov 1, 2021.

  1. Deleted User

    Deleted User

    Guest

    Hi,
    Although unity gaming services gives a lot of tools and services for the backend of the game. But, it still missing two major features; leaderboard and achievement.
    So, is there any possibility for these services added inside the unity gaming services? Or is it going to be part of cloud save?
     
  2. StevenStip-Unity

    StevenStip-Unity

    Unity Technologies

    Joined:
    Apr 7, 2021
    Posts:
    22
    Hi,

    With Unity Gaming Service we're providing a set of products on a platform that work well together. Cloud Save is meant to store player progress and preferences.

    Leaderboards requires a slightly different approach. We realise this is a gap in our offering are currently looking into how we could create a separate leaderboards feature. It is great to hear that you are mentioning this here and I would love to learn more about what you would expect of these features.
     
  3. Serge_Billault

    Serge_Billault

    Joined:
    Aug 26, 2014
    Posts:
    190
    Personnaly among the features I would love to see for leaderboards there is:
    * Multiple leaderboards per game (because game modes, pve, pvp and whatnot).
    * Free but limited to 100 best scores leaderboard services for people using Unity Personnal which can be switched to full fledged service upon upgrading to pro.
     
    Last edited: Dec 8, 2021
  4. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,555
    I have used several other game BaaS with leaderboard features, and now I have to make it on my own on Firebase Cloud Firestore because of reasons, which I think if Unity can solve you can be ahead of competitions :

    • Score submission not allow attaching free data/schematic data : For example, the character player used to obtain the score, something not related to the score. This creates nice details on the board that could be coupled with pagination and filtering seamlessly. Many solution requires stunts to encode data into the integer score that it used to rank (e.g. bit shifting), or making weird link with main player data store. For example, retrieving the character from cloud save. But that is not ideal, because it is no longer the character player used to score that score. Attachment to the score itself is the best way but no one provides this.
    • Not enough settings for ranking : Board accepting one absolute integer score and having only low to high/high to low is a good first step. But it still require some transformation into that score. (e.g. player with equal score of 1,000 but one player has 3/10 bullets remaining get an actual 10,003 score submitted to the server, while the other that used up all bullets get 10,000 score submitted) If extensive logic scripting on the server based on flexible incoming data is possible, that would be ideal. (e.g. based on the mentioned free data attachment)
    • Not enough settings for tie-breaking behaviour : some games has achievable max score, that makes the first person being the first forever because he could achieve it the first. In some sense that should be honored, but many games would rather have different tie breaking that whoever comes later with equal score will win, to create incentive to refresh the score to be the top again.
    • Limiting number of boards : Due to pricing policy and abuse prevention, other often has limits based on assumption. For example, you cannot have more than 100 boards. Looking at games with 1 running event and 1 active board at a time it looks like 100 is more than enough, but there are other game design such as game having 100+ mini stages and each one with 3 difficulties. You would need 300 boards and now it is impossible. Unity should have a more fine grained pricing (e.g. pay per an actual score submission, or workload taken to rank) rather than randomly limiting creativity like this. Pricing that supports many "cold" boards would be great. Not every games are live service block busters with 1M players on a few boards. Ideally, one should be able to mark the board as low or high performance. With low performance board updating several times in a day as opposed to in real time.
    • Board hierarchy : Board are often defined by a single name. So the game need to perform some string concatenation to access new board. (such as "HighScoreStage15" board, which the "15" is concatenated and we define that board on the dashboard to match.) Supposed that dashboard could understand "HighScore.Stage15" and "HighScore.Stage16" under the same tree it would be very helpful. (And allows querying the list under the same parent, etc.) This is great for games with many cold scoreboards per stage x difficulty permutations.
    • Special separation of top rankers and regular rankers : Define 2 thresholds, such as 100 and 10,000 as top rankers and regular rankers. Top rankers is very likely high traffic but rarely change (due to difficult to beat high scores) and server should prepare this chunk of data for sending out. Now, if you want to see scores around you and you are at 5000th place, it would be acceptable that querying that will take more computing resource. The 10,000 threshold should also exist to reduce server cost, if you are not in, the game can simply say "out of rank". (The low score is always remembered, but not ranked until you get over the score of the current 10,000th place.)
    • Automatic query of live data : As opposed to the attachment (static, at the time of scoring data) mentioned earlier, I do want to see the player's current avatar or current display name along with querying the score to display the essential "Top 10" UI. The top rankers wants recognition. If backend can bake these data as soon as player updates their cloud save for speedy query without requiring the game to collect them in an another round trip, it would be great.
    • Versioning : Either by regular interval or manually pressing the button, board should shift to the next version. New submission goes in the newest version, but all old versions could be queried. This can be used by the game to display dialog that you are at which place in the previous cycle or previously ended event, and reuse the same board identity for the next time. Many services has interval resets, but has no way to access old data, reducing the hype of "cementing" the score in the history when it would be reset.
    • Sub-boards : This is very niche use case and not the same as board hierarchy. A single board has completely independent board depending on an argument. For example, "HighScoreStage1" board with "Japan" is a different board than with "US" for viewing regional ranking. It is not enough that "Japan" and "US" are attachment and the game uses filtering based on these string. If the same player that scored with "Japan" moved to "US" and score again but has lower score than his "Japan" one, he should be able to record the score in the "US" sub-board. (Where by filtering, the board would not accept the score since the score is lower. This approach the board see it as new score under "US" arg.)
     
    Last edited: Dec 23, 2021
  5. SomehowLuke

    SomehowLuke

    Joined:
    Nov 11, 2015
    Posts:
    34
    Hi there,
    the features and the problems creating an own leaderboard has been pretty well explained already.
    I just wanted to add that this feature is mandatory for game services.

    I would love to use the Unitys Gaming Services but because of missing leaderboards and achievements I have started using PlayFab. Also Epics Game Services do have leaderboards and achievements and in most games its one of the major features needed.

    If Unity could deliver a good leaderboard and achievement service that is easy to handle and has features like

    - sorting
    - filtering in a list (i.e. show only the score of users from US and rank them in the Level-3 board)
    - and all the devs above have explained

    with all the other cool and easy to use game services it would be game changing (literally ;-) )
    I know some studios that would switch directly to Unitys services.

    Best,
    Markus
     
    alipaknahad and SebT_Unity like this.
  6. Laurie-Unity

    Laurie-Unity

    Unity Technologies

    Joined:
    Mar 5, 2020
    Posts:
    220
    Thanks for all the great feedback, keep it coming.

    We are working hard on new features and really value your input, we should hopefully be able to share some news on Leaderboards here in the forum soon.

    In case you haven't seen it, we have added a Unity Gaming Services section to our Product Roadmap. You can make new suggestions there and see what we have on the way.

    Cheers,
    L
     
  7. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,163
    Are there any progress on the leaderboard system on gaming service?

    All we need is cross platform leaderboard that we can get index of player. Most NoSQL database was not implement this function so it is very important unlike any other feature that can utilized firestore for the job
     
  8. _sequel_

    _sequel_

    Joined:
    Apr 7, 2014
    Posts:
    5
    Just saw this as I was considering the switch to UGS. Pretty shocked it's not already there. A deal breaker for me, unfortunately.
     
  9. RedWolfXD

    RedWolfXD

    Joined:
    Mar 29, 2021
    Posts:
    6
    Hey Unity Devs, any update on the Leaderboards and Achievements features being added to Unity Gaming Services? I'm at the stage in my mobile game development where I need to start implementing these features, and so I'm looking into who to use,... so far it seems PlayFab is the way to go I guess.
     
  10. MiTschMR

    MiTschMR

    Joined:
    Aug 28, 2018
    Posts:
    487
    It is now in open beta, check the UGS dashboard in the Live Ops section.
     
    Thaina likes this.
  11. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,163
  12. MiTschMR

    MiTschMR

    Joined:
    Aug 28, 2018
    Posts:
    487
    The op not only asked about leaderboards, but also about achievements. What is the state there? I don't see it anywhere listed on the roadmap and don't know, if it has already been taken into consideration as a feature.
     
  13. MiTschMR

    MiTschMR

    Joined:
    Aug 28, 2018
    Posts:
    487