Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Feedback ChilliConnect vs PlayFab vs Gamesparks vs Firebase vs AWS vs Others

Discussion in 'Multiplayer' started by Kamyker, Jan 13, 2020.

  1. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Work in progress I'll be adding more to this post later

    Few months ago Unity acquired ChilliConnect that in the future will be optimized to work with other services:
    I've decided to see how good it is. I guess Unity/ChilliConnect can treat this post as a feedback what I'd like to see being changed.

    I'm speaking from indie game developer point-of-view for whom the most important factors are pricing and time. Currently I'm creating BeatAim and so far it uses PlayFab, Steamworks, Openwhisk Actions (on IBM Cloud) and Azure CosmoDB.

    Let's start by removing the worst options:
    - Gamesparks - 299$ per month
    No, thank you. I want my games to be working fine even after 10 years despite how much revenue they'll be making. There are many cases of dead projects because of similar pricing model.
    - AWS (or Firebase(Google Cloud)/Azure)
    It's too complicated to run whole game using these services. I'd recommend using few of their features if they seem suitable. For ex. in BeatAim Im using IBM Cloud functions (similar to Amazon Lambda) to generate procedural maps.

    PlayFab vs ChilliConnect
    We are left with these two. If you know any better options let me know!

    Pricing
    Links: PlayFab ChilliConnect

    Free Option - PlayFab wins
    PlayFab:
    - Free tier with some limits but no MAU limit!
    - Indie/Pro tier free until 1k MAU

    ChilliConnect:
    - only 1 month free trial

    Paid Option - Platform fee - PlayFab wins
    PlayFab:
    - Indie - 99$/month per studio - same as Pro up to 100k MAU
    - Pro - 299$/month per studio
    - Enterprise ????$/month per studio

    ChilliConnect:
    - Indie - 49$/month per game
    - Start up - 249$/month per game
    - Studio - 749$/month per game
    - Enterprise - ????$/month per studio

    I've noticed this as of writing this post. The "per game" cost is awful for small games. Let's say u're going to make 10 small mobile games. All of them pulling 5k MAU, total 50k MAU:

    Platform fees examples:
    10 games, total 50k MAU:
    PlayFab : 99$/month (or free tier with limits)
    ChilliConnect : 490$/month

    10 games, total 200k MAU:
    PlayFab: 299$/month (or free tier with limits)
    ChilliConnect: 490$/month

    1 game, total 200k MAU:
    PlayFab: 299$/month (or free tier with limits)
    ChilliConnect: 49$/month

    1 game, total 50k MAU:
    PlayFab: 99$/month (or free tier with limits)
    ChilliConnect: 49$/month

    1 game, total 1k MAU:
    PlayFab: free
    ChilliConnect: 49$/month

    Well this is only half of the story but upfront fee is definitely higher in ChilliConnect.

    On their website ChilliConnect posted this:
    Development Phase:
    Month 1: Free trial
    Months 2 -16: Indie Pricing Tier @ $49 per month = $735
    Soft Launch
    Months 17-24: Studio Pricing Tier @ $249 per month = $1,992
    Total Platform Fee: $2,727

    Calculated the same for PlayFab:
    Development Phase:
    Months 1 -16: Free
    Soft Launch
    Months 17-24: Pro Pricing Tier @ $299 per month = $2,392
    Total Platform Fee: $2,392

    So even with their own example PlayFab seems cheaper. If your studio makes 2 games simultaneously ChilliConnect cost will be doubled.

    Paid Option - Usage cost - It depends
    - high ARPU PlayFab wins (probably)
    - low ARPU ChilliConnect wins (probably)

    PlayFab uses per MAU pricing - 0.008$/MAU
    ChilliConnect uses per API call pricing - 24-19$/million calls

    TBC

    PlayFab Limits
    The biggest advantage of ChilliConnect is that there are almost no limits of content in you game. For ex:

    Leaderboards count
    PlayFab:
    Free - 25
    Indie/Pro - 300
    500 leaderboards - $49.99 / 100,000 MAU
    more??? - enterprise pricing

    ChilliConnect:
    unlimited - pricing based on usage

    Steamworks:
    10,000 leaderboards per game

    A month ago I've upgraded BeatAim from PlayFab leaderboards to Steamworks. Biggest disadvantage is no cross-platform and sometimes Steam servers simply don't work.

    TBC

    Useful links:
    - Mirror with PlayFab Servers https://docs.google.com/document/d/1ZgtDsgTcccyj25jSZgQPJ3_gnUCaOqQoJ9cvay2IfV4/edit
     
    Last edited: Apr 14, 2020
    Ruchir, wondermagic and Novack like this.
  2. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,772
    I have a live game using PlayFab (Major Mayhem 2) and I'm working on a new game using ChilliConnect. I'm surprised at how inactive the development forums are for both these services. I wonder how many developers are actually using these services?

    Are there other ChilliConnect users out there? If so where do we go to talk about ChilliConnect? Should there be a unity forums section for it? It is owned by Unity now after all.

    As for pricing comparisons, it's not that simple. It really comes down to your goals and your skills and your game. PlayFab made the most sense for Major Mayhem 2 but also ChilliConnect didn't really exist at the time. But for my new project, an async turn based game, ChilliConnect speeds up development so much that it's worth the potential higher price. Overall I'll save money as my game will be complete months earlier. Also, PlayFab requires you use Photon even for async games, so this is an added cost on top, whereas ChilliConnect only requires Photon for realtime multiplayer.

    I also found PlayFab's match making simply isn't useful for async games. it requires both players to be searching for a game at the same time much like a realtime multiplayer system (as it is the same system as Microsoft's xbox match making system), whereas all I require is a list of games that aren't full so the next person to search just pops a game from the list and starts playing regardless of the opponent being online or not. ChilliConnect gives you this out of the box.


    P.S. BeatAim feedback, as a counter strike player, you should add headshots. :D
     
    Last edited: Jan 23, 2020
    wondermagic and Novack like this.
  3. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    There's headshot mode youtube :)

    Good to know Chilli has async multiplayer. Do you know any other advantages?

    Just read this on multiplay.com:
    In PlayFab there can be only 1 server = lowest price 50$/month + also 100 free hours. I guess Chilli is not for me then as we don't even know when it will get Multiplay integration.
     
  4. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,772
    I haven't looked at much beyond chilli's async stuff so I couldn't tell you.

    As for realtime multiplayer, you're meant to use photon with either chilli or playfab. is that not an option for you?
     
  5. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    I'm looking for a solution with dedicated servers (low ping/latency required). Photon price doesn't include them.

    New DOTS Netcode looks good but I'm waiting for more stable version. Then DOTS Netcode + PlayFab servers should be enough.
     
  6. voncarp

    voncarp

    Joined:
    Jan 3, 2012
    Posts:
    187
    Disagree strongly that AWS/Azure are the worst options. They can certainly be complicated dependent on the user’s experience and range of skill sets. But, once you start figuring them out, it easily can be your one stop solution for anything you can dream up.


    For example, you are using Playfab (built on Azure) with IBM cloud functions. Something like that could be simplified on Azure with a proxy, a similar trigger function and a database. Azure functions also have an inline C# editor where you can keep the whole project in C#. On top of that, your trigger function can also be the gateway to 100’s of other services including storage, devops, starting up and managing game servers. The list is endless and all from the same website.

    To me; although cost effective, I find Playfab limited. To be able to sort/protect data, run a schedule, or anything complicated I got to attach a database or storage through “Cloudscript.” Which is pretty much an Azure Java trigger function anyways.

    Comparisons between all these services are highly debatable and are likely going to be varied depending on what you are trying to accomplish.
     
    creepteks and Jirka-Mayer like this.
  7. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    I consider them to be bad as it would take a lot of time to implement all basic features. Currently what I'm using:
    - logins including linking to Steam
    - leaderboards
    - inventory
    - virtual currencies
    - in app purchases through Steam (confirmation managed by playfab)

    In future also plan to use their multiplayer services which is: matchmaking, party, server orchestration.

    I guess it would take months to recreate all of it for a single person or a small team using AWS/Azure.

    I'm using ibm functions for generating maps in game, it's not really related with playfab (other than authenticating requests). I've looked into many solutions for this kind of use. AWS Gateway pricing seems really bad, Azure handles big incoming payloads really bad - 20x worse price. https://social.msdn.microsoft.com/F...n-actual-processing-time?forum=AzureFunctions
     
    Last edited: Mar 18, 2020
    Novack likes this.
  8. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Above was tested again in functions v3, it gave a lot better results:
    Windows ~550ms
    Linux ~150ms

    PlayFab + Azure best option currently.

    #Edit
    Nevermind went back to IBM, I dislike Azure functions additional cost of storage and logs
     
    Last edited: Apr 3, 2020
  9. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    838
    I dont know ChiliConnect, but seems it offers DB integration, which is golden if the features of the service come short. In that regard my experience with Playfab has been really ugly. It results quite limited, you need to create endpoints yourself for pretty much anything, the data handling and storage is really limited, and you're dealing with a custom made approach based on an underlying philosophy thats not explained anywhere.

    I agree however, a month for R&D is not enough, and I doubt I would consider paying for trying, so on the pricing scheme ChiliConnect comes short. I wonder if the rest of it would compensate.
     
  10. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,772
    Yeah, the pricing of chilli in dev stage is definitely bad. I'm at least a month out from releasing a soft launch and I've already had to start paying monthly instalments and I'm just a single developer and at the moment I don't even login as that's not the feature i'm working at the moment. I implemented the chilliconnect stuff early as I considered it the largest risk of my project but now that's costing me.

    I had anticipated this though as at least they were upfront and clear about how it worked. It was still the right decision, but everything would be better if it were free :)
     
  11. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Do you mean Cloud Data? Looks like it's not that great:


    100k rows in indie tier is nice but you can have only 1 json and 1 long text field :/
     
  12. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    838
    No, not that. Have not verified the info myself, but one of the comments on the announcement blog, reads that ChiliConnect provide access to DB to extend the platform [src].
     
  13. TheLastVertex

    TheLastVertex

    Joined:
    Sep 30, 2015
    Posts:
    126
    Was using GameSparks and AWS GameLift. The pricing change to GameSparks forced me to consider Chilliconnect. Unfortunately they are missing websocket support so you can't push server side messages to clients. Their roadmap for this feature was delayed and then being acquired by Unity looks like it probably had further impact.

    Currently using Firebase (authentication, functions and realtime database) with AWS GameLift. I agree Firebase is probably a headache for anyone who hasn't used similar cloud services before. It's less a "product" and more a "tool". You can do anything you want, but that means you have to make/handle/develop everything yourself.

    Firebase benefits:
    1.) Realtime database syncing from server to clients is instant. I'm currently using it for player data (currency / inventory data), as well as a replacement for messaging. It provides clients with multiplayer matchmaking info, matchmaking ticket status, server ip and port info, and match results etc. As soon as a match is ready it writes the server ip and port to the database and the client gets that info instantly. No waiting and no need for the client to make a "request". If they do get disconnected it's right there and available when they need to reconnect.

    2.) Deep linking / Dynamic links. I haven't implemented this yet so we'll see how it goes but it's one of the reasons I chose it. You can set up http links that open to specific parts within your app.

    3.) Price - Usage based


    Firebase draw backs:
    1.) No Windows/Desktop support for authentication. Not an issue for my current project, but with the amount of work I've put in it would have been nice to be able to use it with any future desktop projects. I haven't looked into it but their maybe a way to use the "web authentication" portions for this instead but not sure.

    2.) Dev environment. I hate node.js/ javascript/typescript. Having to learn that + async logic simultaneously was annoying. On top of that not being able to use visual studio and finding a good alternative sucked. (Settled on VS Code).

    3.) Functions cold start times. The amount of time it takes for a cloud function to execute from a cold start is pretty bad. Not a huge deal if you have regular calls to it but can sometimes be in the seconds when it's first called.

    4.) No built in app purchase verification. There is an open source library for this that I believe support Unity receipts, I haven't tried it yet but is annoying they don't have something built in.
     
    Novack likes this.
  14. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,772
    2.) Deep linking / Dynamic links. I haven't implemented this yet so we'll see how it goes but it's one of the reasons I chose it. You can set up http links that open to specific parts within your app.

    Depending on what you need i found their deep/dynamic linking was not very good. It's slow and the gives a bad user experience compared to doing it yourself, it's also a one size fits all solution which makes it not really very good at any specific problem.
     
  15. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    PlayFab also lacks this feature but they have PubSub in private preview.

    I know the pain, same case in PlayFab but as a workaround Azure Functions can be used with additional cost. Chilli also has some kind of C# to javascript converter meaning libraries usage is very limited :(.

    Azure Functions have also pretty bad cold starts, when using PlayFab as an auth proxy it only gives 5 sec (free tier) or 10 sec (indie/pro tier) to finish the action and otherwise times out.

    I've switched back from Azure Functions to IBM Openwhisk Functions as I've discovered that custom docker images can be used instead of default .NET 2.2 runtime. It's amazing:

    1. I think none of the FaaS services offer it but Openwhisk allows to schedule a function not only using cron (daily, every 5 mins etc) but also to run it once on a specific date. It is extremely helpful, now I can prepare everything in advance and just monitor if everything run correctly. It's also almost completely free - compared to Google Cloud Scheduler - $0.10 (USD) per month per job.

    2. You can create your custom docker image and use it instead of default implementation. Spend few days tinkering mine and cold starts improved by 1 sec to 300-500ms. Total cold time start to respond dropped from 5 sec to 2,5 sec with 6mb function.
    Here's my fork: https://github.com/kamyker/openwhisk-dotnet-csharp

    3. 5.000.000 requests per month for free :D

    4. IBM Cloud Object Storage is the cheaper than Azure, Google, AWS and even Backblaze. Unfortunately Cloadant (database) pricing is terrible.

    One month ago Azure Cosmos DB got free tier with 400 RU/s (400 get requests with 1kb size files). That's 1bln-500mln requests per month :D.

    Servers locations are a bit of a pain:
    - PlayFab - Seattle
    - Steamworks Partner Api - Seattle
    - IBM Cloud functions and object storage - Dallas
    - Azure Cosmos DB - Austin? (~200 miles from IBM) or Seattle

    Unfortunately IBM doesn't have servers in US West region

    That's the stack I'm gonna use from now on. First implementation is global ranking combining multiple steam leaderboards: https://beataim.com/esports
     
  16. TheLastVertex

    TheLastVertex

    Joined:
    Sep 30, 2015
    Posts:
    126
    I'd be interested if you have any more information you can share or alternative you'd recommend looking into

    I've tried multiple times over the last year to get in private preview to no avail. I'm sure they'll release just before I release :(

    I'll have to look into the IBM cloud stuff more, kinda always forget about them.

    I really did like Azure functions build process and integration with visual studio. Be nice if they would include the cost into PlayFab somehow.
     
  17. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Oh s**t:
    https://playfab.com/pricing/

    Multiplayer servers in free tier: Fv2 VM Hours 1,500 :O
     
    Last edited: Apr 2, 2020
    Novack likes this.
  18. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    It looks good but it could be a lot better.

    Biggest disadvantage: whole project with all functions is zipped and sent to azure, then all functions get updated - in my experience it's not that fast, can't imagine having bigger project.

    OpenWhisk/IBM: you can have as many projects as you want and update only single function. Using cmd is a bit painful but I've created simple Unit Test to do every thing for me. It takes ~15 sec to update a function :D

    Code (CSharp):
    1. [TestClass]
    2. public class UploadFunctions
    3. {
    4.     MethodInfo methodInfo;
    5.     MethodInfo GetMethodInfo( Func<HttpContext, Task> d )
    6.     {
    7.         return d.Method;
    8.     }
    9.  
    10.     [TestMethod]
    11.     public void Up_Hello()
    12.     {
    13.         methodInfo = GetMethodInfo( Functions.HelloClass.Hello );
    14.         UploadMethod();
    15.     }
    16.  
    17.     //always keep namespaceName == {namespaceName}.csproj
    18.     public void UploadMethod()
    19.     {
    20.         var namespaceName = methodInfo.DeclaringType.Namespace;
    21.  
    22.         string path = $"<PATH_TO_YOUR_PROJECT_FOLDER>\\{namespaceName}";
    23.  
    24.         var buildFolder = path + "\\out";
    25.         if ( Directory.Exists( buildFolder ) )
    26.             Directory.Delete( buildFolder, true );
    27.         Directory.CreateDirectory( buildFolder );
    28.  
    29.         File.Delete( path + "\\out.zip" );
    30.         RunCommands(
    31.             new List<string>()
    32.             {
    33.                     $"dotnet restore {namespaceName}.csproj",
    34.                     $"dotnet publish {namespaceName}.csproj -c Release -o    out",
    35.                     @"cd out",
    36.                     @"C:\Program Files\7-Zip\7z.exe a -r ..\out.zip *",
    37.                     "pause"
    38.             },
    39.             path );
    40.  
    41.         RunCommands( new List<string>() {
    42.                 $"ibmcloud fn action update {methodInfo.Name} out.zip " +
    43.                 $"--docker kamyker/openwhisk-action-dotnet-v3.1:stable " +
    44.                 //$"--docker openwhisk/action-dotnet-v3.1 " +
    45.                 $"--main {methodInfo.DeclaringType.Assembly.GetName().Name}::{methodInfo.DeclaringType.FullName}::{methodInfo.Name} --web raw",
    46.                 "pause"
    47.             }, path );
    48.     }
    49.  
    50.     public static void RunCommands( List<string> cmds, string workingDirectory = "" )
    51.     {
    52.         var process = new Process();
    53.         var psi = new ProcessStartInfo();
    54.         psi.FileName = "cmd.exe";
    55.         psi.RedirectStandardInput = true;
    56.         psi.RedirectStandardOutput = true;
    57.         psi.RedirectStandardError = true;
    58.         psi.UseShellExecute = false;
    59.         psi.WorkingDirectory = workingDirectory;
    60.         process.StartInfo = psi;
    61.         process.Start();
    62.         process.OutputDataReceived += ( sender, e ) => { Trace.WriteLine( e.Data ); };
    63.         process.ErrorDataReceived += ( sender, e ) => { Trace.WriteLine( e.Data ); };
    64.         process.BeginOutputReadLine();
    65.         process.BeginErrorReadLine();
    66.         using ( StreamWriter sw = process.StandardInput )
    67.         {
    68.             foreach ( var cmd in cmds )
    69.             {
    70.                 sw.WriteLine( cmd );
    71.             }
    72.         }
    73.         process.WaitForExit();
    74.     }
    75. }
    76.  
    Don't forget to change "C:\Program Files\7-Zip\7z.exe" and "<PATH_TO_YOUR_PROJECT_FOLDER>"
     
    Last edited: Apr 3, 2020
  19. sefaenes

    sefaenes

    Joined:
    Jul 12, 2019
    Posts:
    22
    @Kamyker hello,

    what is the best rest api in your opinion? Playfab or go crazy with AWS?

    I have a mobile game which is using Photon Pun and ı want to intagrate authentication, player data, send game invites etc. I'm interested in Playfab right now, but I haven't started yet. What would you suggest?

    Thank you.
     
  20. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,750
    Whoa, that's a major upgrade from the 20 hours a month they had previously. That's enough for keeping two servers up 24/7 all the time.
     
  21. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Hey,
    Playfab the best choice, you can cut costs by using some of AWS or per-platform features. For ex. instead of using PlayFab player data you can use one of AWS databases or instead of using PlayFab leaderboards you can use ios/google play leaderboards.
     
    Last edited: Apr 14, 2020
  22. sefaenes

    sefaenes

    Joined:
    Jul 12, 2019
    Posts:
    22
    you mean use Playfab free version together AWS db. I read Playfab’s max. user count is 10.000. can we add users to the aws db’s. I don’t know, my mind confused
     
  23. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    No, I mean decrease total cost of PlayFab as player data is $0.30/Million after 60 Million Reads in paid tier. In AWS DynamoDB is $0.25/Million.

    You shouldn't have a problem paying 100$ a month with 10k+ players but if somehow your game has very low ARPU then AWS only could be a better choice.

    To not hit 10k users limit you could also set up a function to run every day that deletes guest accounts under 5 mins playtime.
     
    Last edited: Apr 14, 2020
  24. sefaenes

    sefaenes

    Joined:
    Jul 12, 2019
    Posts:
    22
    how can I do that?


    also, do you have an idea to create an game inviting system based on playfab? how players can send requests eachother? I can't see any detalied documentation about that. my english also in beginner level :/

    Thank you for fast reply.
     
  25. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
  26. sefaenes

    sefaenes

    Joined:
    Jul 12, 2019
    Posts:
    22
    I read all documents thank you :)

    I created a empty project and install both photon and playfab. then created a script which collapse everything about pun+playfab authentication together. I allow the user to choose a nickname and I create fake username-password hiddenly for if user wants to change their datas in the future.

    everything is ok so far. when I looked at the documents and looked at the example code, I couldn't find how to do what you offer (I mean scheduled-taks). there is no session times and another datas for calculating play time. we can create an user data section for this but how to update when user logout?

    can you give me an example code for that? I used the logic you said on my own servers but I can't integrate it into playfab.
     
  27. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
  28. highpockets

    highpockets

    Joined:
    Jan 17, 2013
    Posts:
    59
    I'm in the middle of trying to make a decision here between ChilliConnect and Playfab. One thing to note about ChilliConnect is that they're not adding any new features to their existing platform and are actually focused on developing "an exciting new platform that will integrate the best features of ChilliConnect, deltaDNA and other Unity services" as per Chilli. They will continue to support the existing platform and a migration path will be in place to switch to the new platform when it is ready. This makes me think that the future with Chilli look good if migration isn't a concern.
     
    Novack likes this.
  29. highpockets

    highpockets

    Joined:
    Jan 17, 2013
    Posts:
    59
    I was just told that this table is out of date and Indie and Start Up plans do not currently support the collections feature.... Bummer..
     
  30. ferretnt

    ferretnt

    Joined:
    Apr 10, 2012
    Posts:
    402
    Surprisingly little love for Firebase here. Is that because everyone's looking for higher level "game services" (leaderboards, matchmaking) out of the box, whereas building and debugging those things with Firebase e.g. RTDB is actually surprisingly complex.
     
  31. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    I've tried using Firebase at the very start, made user authentication then tried leaderboards. After seeing how complex it can get just went to PlayFab.

    Still using Firebase for redeeming game codes, Firestore database is pretty good.
     
  32. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
  33. wagenheimer

    wagenheimer

    Joined:
    Jun 1, 2018
    Posts:
    315
    @Kamyker How do you handle security using Firestore Database?
     
  34. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    In my simple case of redeeming game codes - I access db with cloud functions, player has to log in to PlayFab to call them. Additionally in events explorer I can quickly see if someone would try brute-force attack but it's not even possible as calls to PlayFab are rate-limited anyway. Would add automatic ban but my game is not f2p and not that big to be worth implementing.
     
    Last edited: May 5, 2020
    aer0ace and wagenheimer like this.
  35. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Limits above are not even visible currently, I don't recommend upgrading to new pricing model if your game may hit them. I guess it's going to be a mess trying to get that api usage data from support.

    Only 10,000 players limit is implemented and visible in playfab dashboard.
     
    Last edited: May 6, 2020
  36. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Update: on paid tiers usage is visible on Billing page. On free tiers they will be in implemented 2 weeks. What's more important is that those are only soft limits :).
     
  37. mboyle

    mboyle

    Joined:
    Sep 10, 2015
    Posts:
    6
    @highpockets could you provide a source link for info re: ChilliConnect's new platform? I didn't see it on their blog or in a Google search. I'm interested in additional details if there are any. Thanks!
     
  38. Carlos9x

    Carlos9x

    Joined:
    Aug 5, 2017
    Posts:
    12
    Playfab has updated new pricing model. Should I still use Playfab or switch to another service? Which service is the best choice now?
     
    Last edited: May 19, 2020
  39. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Novack likes this.
  40. Carlos9x

    Carlos9x

    Joined:
    Aug 5, 2017
    Posts:
    12
  41. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Open the link... :)
     
  42. Carlos9x

    Carlos9x

    Joined:
    Aug 5, 2017
    Posts:
    12
    Unbelievable!
     
  43. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    GCatz likes this.
  44. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,772
    I don't think so. Unity need online services to stay relevant and lock developers into subscriptions for the entire lifetime of a game not just the development phase.

    Online services also provide a good business model for capturing some profits from successful games with tiny teams.
     
  45. juhaelee

    juhaelee

    Joined:
    Apr 1, 2015
    Posts:
    8
    I just watched a video on youtube about Unity Game Foundation and saw it has a tight integration with ChilliConnect. It made me consider them for a hot second, but it seems that PlayFab is the way to go?
     
  46. lclemens

    lclemens

    Joined:
    Feb 15, 2020
    Posts:
    706
    The Epic Online Serives looks really promising to me. Free - yay! Most of those limits are per-player and way higher than I could ever use. iOS is supported already, with "Android coming soon". I downloaded the SDK, which had lots of examples, but they were all in C++.

    One of their statements is: "At this time, the C# SDK has only been tested on desktop platforms." That worries me a little.... I'm having trouble understanding what that means and what the implications are.

    They have some good C# info here: https://dev.epicgames.com/docs/services/en-US/CSharp/GettingStarted/index.html

    And someone put up a tutorial here: https://gitlab.com/dylanh724/eos-unity/-/tree/master

    So far I haven't found any info that talks about using addressables or asset bundles with EOS.

    I'm not really at the point in my game where I need to start putting in a back-end service for game-saves and authentication, but right now I think EOS is my top contender.
     
  47. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,772
    PlayFab is probably the most tried and tested backend. However I'm not sure how their pricing is now. it has all been changed to a usage model as opposed to an MAU model that it was before. That could be good or bad depending on your game.
     
  48. bluescrn

    bluescrn

    Joined:
    Feb 25, 2013
    Posts:
    627
    These complex pricing models seem intended to make it near-impossible to estimate the actual cost. Would be much more useful if they had some case studies of real-world games and their usage stats.

    I suppose usage pricing at least encourages developers to optimise a bit (but can leave you wondering if more hardware resources are being used for adding up your bill than serving data to your game), but MAU pricing was at least predictable, less risk of BaaS becoming 'Bankruptcy as a Service'
     
  49. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,083
    Worth mentioning that all previous limits were also raised to old "Pro/Indie tier" - for ex. analytics history is available for one month instead of one week. For me it's a huge change as I don't have to use other (free) providers like google analytics or game analytics.
     
  50. Jirka-Mayer

    Jirka-Mayer

    Joined:
    Mar 18, 2019
    Posts:
    18
    Hello, I've been working on a backend service for the past year and I think it could become a viable alternative to PlayFab and other solutions you talk about. It's mainly focused on great interoperability with Unity, so:
    - the server-side code uses C# as well
    - the server-side code is located within your Unity project (yay git, yay unity collab)
    - calling server methods is as easy as doing a RPC call
    - you don't have to think about serialization
    - you dont have to use only leaderboards or currencies, you have acces to a full ArangoDB database on top of which you can build anything you want. (Player authentication is a template out of the box, can be modified + leaderboards tutorial is on the discord server, matchmaking is almost completed, it's on the github (see the web for links))

    Website: https://unisave.cloud/
    Intro video:


    I know I cannot compare myself to PlayFab (yet) in terms of reliability and scale, but I hope my approach to the problem might be more comfortable to use for you, guys. Tell me what you think of it, I'm gathering feedback right now :) Thanks!

    My vision is: It should be possible for a young developer to make a multiplayer game, without learning a gzillion web-related things. Just like Photon simplified real-time, I want to simplify data persistence :)

    You also talked about pricing in the first post - my service has some pricing on the website, but it's in too early stages to be anywhere near optimal. I plan on adjusting the pricing to fit both sides.
     
    LilGames and Novack like this.