Some time ago, Unity released the beta of Unity Game Services (UGS). Recently, the services have been graduated out of beta, and are ready to be used by developers who want to make “live” games. In case you don’t know, “live” games are also called “games as a service” and they are games that are constantly giving more content to players, keeping them engaged. Some of these games can be free, while others are a subscription, but they are all running part of the game infrastructure in a server (for example, for player profile storage, scoring, content delivery, multiplayer services, etc.). While UGS is made by Unity, you can use the services with any engine of your choice using the SDK.
UGS has 3 main pillars, so to speak: foundation building, player engagement and user acquisition. In the first pillar, you have things like account management and multiplayer infrastructure, to build the “backbone” of the live game. Then, the player engagement pillar offers services like analytics, community solutions (using text and voice chat) and deploying test updates without having to update the client applications.
Lastly, the last pillar, growth and user acquisition offers monetization methods, including ads and in-game purchases. Parts of these services are obviously meant for mobile games, but other ones, like in-game purchases are now widely used in PC and console games (to various degrees of success and ethical usage).
You can start using UGS for free, with some limitations (limited number of transactions, etc.), and then pay as you go. All you need to do is log into your Unity account and go to the UGS dashboard, where you can select the services you want to use. In the dashboard you can also create projects (which are different than the Unity projects you create on your computer for local development) and then select the services per project.
But now here’s the difficult part. Epic Online Services offers pretty much the same services, for free, and these services can also be used on any engine. Since making games is already hard and expensive, I think Unity has to make a convincing argument as to why use their service over EOS. Of course, part of the argument is solved by the engine you are using: if you are using Unity, implementation might be less costly to simply use UGS over EOS. Since live games are not my area of interest, I can’t really make a more in-depth comparison between the two.
Either way, if you are working on Unity and you plan to make a live game, you may want to check UGS out.