Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Well thanks Unity, unless I'm mistaken I've just wasted weeks of development!....

Discussion in 'Multiplayer' started by SpaceMidget75, Mar 17, 2016.

  1. SpaceMidget75

    SpaceMidget75

    Joined:
    Feb 7, 2014
    Posts:
    21
    So my understanding of UNET was that all the matchmaking service did was handle the matchmaking of player clients with player hosts, at which point it used NAT punch-through to allow all networking to go directly between the clients and client/host?

    Is this statement not true, because if not and looking at your pricing, I may as well give up! Why on earth would you create system that offloads almost all host responsibilities to one of the players and yet still charge as if YOUR servers are doing all the work?

    I have a small two player game that was going to sell for a few dollars (if that), but now looking at the confirmed pricing, rather than making a small profit, I'll be running at a loss.

    I imagined that because the framework is essentially P2P your charge of CCUs would be just for the number of concurrent connections listed in the matchmaking service as that was it. For example:

    0 - 20 Free
    21 - 100 $10 a month
    101 - 1000 $100 a month.

    Instead, your charging for gaming messages and bandwidth I didn't even think I was using on your servers.

    AND TO TOP IT ALL OFF I HAVE TO BUY A PRO-LICENSE TO LAUNCH A GAME WITH MORE THAN 20 PLAYERS. ...brilliant.

    I really hope I'm wrong about the above, so please correct me if I am. If not...thanks for letting this 41 year old developer spend months learning your buggy, poorly documented UNET in the evenings, sacrificing time with my family in the hope they'd benefit in the long term.

    I've literally JUST fixed the last bug in my networking code so the timing of seeing this announcement couldn't have been more of a slap in the face.

    Does anyone have experience of Forge and converting a UNET project over to it?

    Thanks


    EDIT: I also thought you was going to provide the option to host our own matchmaking server. What happens to a game, were in 5 years time, it still has a dedicated player base? I have to continue to pay $50 a month for that 100 players years after sales of my $2 game dried up? I hate that companies like EA shut down servers and you've just forced that model on Unity UNET users.
     
    Last edited: Mar 17, 2016
  2. JeremyUnity

    JeremyUnity

    Joined:
    Mar 4, 2014
    Posts:
    147
    At no point has Unity Multiplayer supported NAT punch through. It's on our list of upcoming work but no ETA is available.
    If you got this information from a Unity source please let me know but to the best of my knowledge no misinformation like this was ever published by Unity.
     
  3. thegreatzebadiah

    thegreatzebadiah

    Joined:
    Nov 22, 2012
    Posts:
    836
  4. SpaceMidget75

    SpaceMidget75

    Joined:
    Feb 7, 2014
    Posts:
    21
    I (obviously neively) thought that NAT would be bare a minimum feature of any networking service nowadays. Regardless, it appears then that UNET offers even less features for the money than my original statement.

    Could you please comment on the rest of my assumptions so I know where I stand? Is all in-game communication going via UNET's servers? So we have a P2P solution with a client acting as a host where we still need your servers to relay game packets? Madness.

    If the above is true, I feel I both me and Unity have made gross misjudgements. Me on what I expected it to offer (for the money) and Unity on what they thought their users would want.
     
    Last edited: Mar 17, 2016
    GrymmyD and thegreatzebadiah like this.
  5. GrymmyD

    GrymmyD

    Joined:
    Dec 2, 2015
    Posts:
    42
    I think a lot of us that have been on the UNET bandwagon are feeling similar pain and are scrambling to fully understand what exactly this means for our upcoming games... I'm not really yet willing to jump into the abyss and drop UNET altogether (would be a whole ton of work for me, measured in multiple weeks for sure), but I do think we need the punchthrough solution urgently.
     
    SpaceMidget75 likes this.
  6. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    You don't actually need to use Unity's servers for what it's worth. You can connect directly to a player fine, old school style... The guy running the server would need to have an open port though. Alternatively can do own amazon relay if desired.

    I did our prototype networking with 4 players fine, not a relay server in sight.

    Yeah good job it isn't true. It is optional though. Can I ask if you've actually tested networking with another person? Were you using unity's services? I wasn't, I just supplied them with my ip and off we went.
     
  7. GrymmyD

    GrymmyD

    Joined:
    Dec 2, 2015
    Posts:
    42
    Yeah, old school style just doesn't scale, not to mention is prohibitively difficult for any ordinary user to set up. You lose a majority of your audience right then and there.

    So, have you set up a relay server yourself? You're saying there is a turnkey, drop-in Amazon matchmaking + relay solution for UNET? That's news to me.
     
    SpaceMidget75 likes this.
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    For TNet I did, but that's a different kettle of fish to UNet. I just wanted to illustrate that using a relay server with UNet isn't mandatory, if people wanted to explore other options.
     
    GrymmyD likes this.
  9. GrymmyD

    GrymmyD

    Joined:
    Dec 2, 2015
    Posts:
    42
    Oh yeah totally... There are lots of options.
     
  10. SpaceMidget75

    SpaceMidget75

    Joined:
    Feb 7, 2014
    Posts:
    21
    For local LAN testing I've been using a direct connection, but yes, for proper online testing I've had to use UNETs matchmaking service because everyone is using NAT nowadays and as GrymmyD said, you'll cut out a large audience if you only allow direct connections.

    Look... I know that you CAN "roll your own" but I just think the whole thing is a mess at the moment. Most people will want to use the HLAPI given that's Unity's raison d'etre so it's not unreasonable that people will want to use the Network Manager and Lobby Manager provided. The problem is, if they do, they're stuck using the relay server and incurring - IMO - totally unreasonable costs. As someone who runs a development business it's clear that Unity have chosen NOT to include NAT because they can now profit from relaying costs and not just matchmaking.

    There's a big irony here and one they need to be aware of: Small devs don't have the skill/man hours to avoid the relay/CCU charges, but can't afford them (or the PRO license). The larger devs have the skill/man hours to write their own solution even though they can afford Unity's services (and have a PRO license)!!

    @thegreatzebadiah, that's great news and will take a better look! However, I'm still stuck with requiring a Pro license and having to pay for the CCU count even if your brilliant solution avoids the bandwidth charges. I honestly think at this stage I may be better to scrap the project or rewrite it using something like Forge.
     
    thegreatzebadiah likes this.
  11. thegreatzebadiah

    thegreatzebadiah

    Joined:
    Nov 22, 2012
    Posts:
    836
    I can't help but feel this as well.
     
  12. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    With UNet you only pay what you want. It could end up being 10 dollars a month or something tiny, especially if you optimise your packets. Have you worked out your rough expenditure? Playing devil's advocate here as I agree it kills free games stone dead, at least.
     
  13. GrymmyD

    GrymmyD

    Joined:
    Dec 2, 2015
    Posts:
    42
    Yeah I did a cost breakdown in one of the other threads myself... That was my conclusion, forces my hand to at least charge something like $1.99+, which I wanted to do anyway. But I still want the punchthrough to increase my margins...
     
  14. SpaceMidget75

    SpaceMidget75

    Joined:
    Feb 7, 2014
    Posts:
    21
    I haven't yet, no - partly because I'm completely disheartened about this at the moment - but roughly I've worked it out a $60 with 100 CCUs. Say I sell 200 copies (at $2) in the first month and pay for 100 CCUs. I've made $400 minus store margin, minus $60 for UNET (plus a pro Unity license!) That's 15% of revenue on simply allowing the game to actually run.

    The following month some of those players from the first months sales will be still playing the game (HOPEFULLY!!) which means another charge despite no further revenue from them (new purchasers don't count as they'll have their own overheads as you scale up the CCU count and monthly charges). Likewise for the third month etc etc.

    If the game is good enough that a decent percentage of the players want to carry on playing for 3 - 4 months, suddenly the game has become completely pointless economically. That's a crying shame given that Unity was built around small indies and their games.
     
  15. GrymmyD

    GrymmyD

    Joined:
    Dec 2, 2015
    Posts:
    42
    I suggest you do a detailed analysis (like mine here http://forum.unity3d.com/threads/doubts-with-unet-pricing.392179/) and focus in on the metric of # of gameplay hours per user/dollar cost. Unless I did my math wrong, mine was something like 130 gameplay hours per $1 cost to me. That's quite a lot and gives me a small amount of confidence that it's still financially viable given that most users won't play that much. Sure, there will be some die-hards that will cost you money, but those are good for the game's health anyway. Could always add in DLC or ads eventually as well to monetize those guys too.
     
  16. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    100 CCUs is an insane amount of players though. In reality 100 users is more like 5 CCU at the most. The actual reality of what happens in a multiplayer game is never the best case, even for AAA it's close to the worst case.

    Unless it's an MMO, or game where the matches last a very long time and have players staying during that period instead of coming and going. Real behaviour is you'll get say 8 players, and the match will last 5 or 10 mins, and when the match is over, those CCU don't exist, and there is a large gap before the next match begins. When you extrapolate that behaviour, turns out not many CCUs are needed.

    I made the same mistake when I spoke to Photon, and they suggested it would cost a few hundred thousand a month or something. I then realised the shape of traffic in a typical online game wasn't what I expected. You can also design the games so they work with this concept of CCU saving, traffic saving etc.

    Networking is not the place to brute force... you could with the old way of supplying an IP and just be done with it, or Nat punchthrough, even though its not reliable anything would get punched through.

    Also 100 sales aren't at the same time. People also play it at different times, and often, people don't even want to play mp. Or they get bored. Or whatever really. The CCU you use is always small in the real world.

    If your game needs >100CCU, likely you made a few hundred K... but this does throw up a point: this service is kind of useless for free games. Perhaps it's the wrong fit for free games.
     
  17. SpaceMidget75

    SpaceMidget75

    Joined:
    Feb 7, 2014
    Posts:
    21
    I appreciate you trying to placate me (I'm not being sarcastic) but that $60 p/mth I arrived at was by using their calculator here. Even though I set it to 100 CCUs p/mth, it's actually calculated at 25% usage (using all 100 concurrently is actually $240).

    So, I'd already halved my 200 sales p/mth to 100 CCUs and then calculated that down to only 25 CCUs at a time. While I appreciate it could be less, I don't think 25 people out of 200 playing a game they've all bought that month is completely ridiculous? Even down at 10 it's $24 based on 100 byte (!) messages and 20 msg/sec.

    But the bigger picture here is the following:

    • I don't have the money for a pro license.
    • This system eats into any small sales profits you've made month on month.
    • Why, with a P2P structured system would you not provide NAT and still relay all traffic through a server?
    • Older games will have their servers shut down far quicker than they should do and all us gamers hate that.
    • Free (or almost free) games are pretty much out the window unless you spend even more time developing a game you just wanted to give to the community.
     
    thegreatzebadiah likes this.
  18. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hopefully Unity staff will be able to answer, as I would feel misled and angry as well. Perhaps there's going to be some form of punchthrough even if on asset store.
     
    SpaceMidget75 likes this.
  19. SpaceMidget75

    SpaceMidget75

    Joined:
    Feb 7, 2014
    Posts:
    21
    Okay, I've taken a step back and tried to simplify the on-line calculator down to the costs per single user/customer. I've set Concurrent Players to 1, Expected Utilization to 100%, Messages per second to 20 and size 64bytes. This SHOULD - correct me if I'm wrong - give me the cost for ONE player literally running my game for the whole month (impossible but gives me my baseline).

    It's comes to just $1.54. This works out at $0.002 per hour (for a 30 day month). If they play an hour a day, that's $0.064.

    6 cents a month is much better than I thought, unless I've messed up my maths here which would be extremely embarrassing for a dev of 20 years ;)

    Now I just need to figure out the Pro-license issue!

    As you said, hopefully the devs will respond regarding the pro-license. What's the point of even having UNET in the free edition if what the FAQ says is true? It will be a non-starter for all the indie devs that have spent months working on UNET games but cant afford the pro upgrade.
     
    Last edited: Mar 18, 2016
    hippocoder likes this.
  20. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,521
    Unity could make more money with services if they would not require pro.
    Every free user would be a potential customer, now its just limited to pro users.

    Unity is letting a great revenue stream pass by.

    Why do you think all the free to play apps are the highest grossing apps. because they allow free users to pay them money for IAP. Same could be true for unity free. make all the services like IAPs and let the money come.

    :)
     
    SpaceMidget75 likes this.
  21. JeremyUnity

    JeremyUnity

    Joined:
    Mar 4, 2014
    Posts:
    147
    Hi Everyone,
    We put together a FAQ to answer some of your questions here. Please feel free to ping us with additional questions too if anything is unclear, of course.
     
    Lofar42 likes this.
  22. GrymmyD

    GrymmyD

    Joined:
    Dec 2, 2015
    Posts:
    42
    Thanks for this Jeremy. This is good stuff to know.
     
    JeremyUnity likes this.
  23. Vedrit

    Vedrit

    Joined:
    Feb 8, 2013
    Posts:
    514
    For the uninformed or unaware, is only when using Unity Cloud services? Do the CCU limits affect privately-hosted servers/services?
     
  24. GrymmyD

    GrymmyD

    Joined:
    Dec 2, 2015
    Posts:
    42
    You should be unaffected by CCU limitations AFAIK
     
    JeremyUnity likes this.
  25. JeremyUnity

    JeremyUnity

    Joined:
    Mar 4, 2014
    Posts:
    147
    @Vedrit, @GrymmyD is correct, there are no charges or CCU limits unless you specifically use the Unity Multiplayer MatchMaker and Relay server. If you're on a LAN connection or privately host your game elsewhere without using MatchMaker and Relay there are no costs incurred besides the normal Unity license fees for your game (and whatever you set up with your hosting provider).

    For LAN connections we also support local discovery, which works with no internet connection and is totally independent from the Unity Multiplayer service.