Unity Gaming Services Use Cases
This Unity Gaming Services (UGS) Use Cases project contains a collection of samples designed to demonstrate how to use multiple UGS products in a single Unity project to solve common game development challenges.
Download the Unity project and interact with its sample use cases in the Unity Editor, and follow the documentation to understand the setup mechanics of each scenario. You'll observe examples of:
- How to implement typical back-end game use cases and game design elements.
- How to resolve specific development tasks.
- The efficiency you can achieve in your game back-end by integrating various UGS packages in your project.
The following sample use cases are available in the project, along with detailed documentation:
|Use case||Description||Services used|
|A/B testing is a powerful tool to test different variables on various user segments in parallel to see which variable has the most impact on your game. A/B tests can be very useful for fine-tuning retention, monetization, or balancing mechanics. This sample simulates an A/B test to evaluate how much experience it should take to gain a level.|
|Battle Passes provide additional content for your game, usually through a tiered reward system that players earn by playing the game and completing specific challenges. Battle Passes and their corresponding rewards are only available for a limited time, making them effective monetization and retention features.|
|Mini-games introduce fun ways to earn additional rewards or advance gameplay. This sample demonstrates how to use Cloud Code with other UGS packages to validate game play by implementing a simple artificial opponent against the player in a tic-tac-toe mini-game.|
|Command batching is the concept where each game action is a Command which can be collected into a queue to be sent to the server in batches for processing. Command batching optimizes your game’s bandwidth to be as energy efficient as possible, and prevent poor performance due to frequent server calls or rate limiting. This provides a smoother game experience with less downtime.|
|Daily reward calendars are prevalent engagement features that can boost retention in games of all genres. Showing players an escalating series of rewards in advance incentivizes them to keep signing in to claim better and better prizes. This sample demonstrates how to present a calendar of rewards that increase in value over time, which encourages players to return each day to claim them.|
|This genre simulates resource production in real time while the player is not playing the game. For many players, returning to find that the game has progressed in their absence is a very rewarding feeling. This example demonstrates how to calculate the amount of currency, XP, and other outputs earned while players are idle.|
|In-game mailboxes allow game developers to communicate with their players. You can use them to tell players about in-game events, gift them useful resources, or help keep them coming back to your game.|
|Loot boxes are virtual items that players can win, earn, or purchase, and then open to receive a randomized selection of items. Rewards can vary greatly depending on the game's genre, theme, and virtual economy. They can positively impact retention, supplement live events, and pique the curiosity of old and new players alike. This sample demonstrates how to set up a basic loot box that grants random currency to players.|
|Whether they're receiving items, currencies, extra lives, or power-ups, players love free stuff! Awarding daily gifts to players that return to your game boosts engagement, intrinsic motivation to check in regularly, and overall interest in your game. Daily rewards can also act as a precursor to introducing monetized in-app purchases in the future. This sample demonstrates how to grant randomized rewards on a timed cooldown.|
|When you add new content to your game, releasing a new version of your application means users must then install the update before they can play it. Alternatively, if you use an over-the-air content approach, players can open the application and begin interacting with the game while new content downloads in the background or during idle times.|
|Incentivizing players to watch an ad can be a great way to increase your game's revenue. This sample demonstrates how to offer players double rewards for completing a level if they choose to watch an ad.|
|Seasonal events can increase game sessions and overall interest in a game, because they give existing players new and fun content throughout the year to look forward to, and can entice new players to begin playing.This sample shows how you can set up seasonal events. It showcases four events, Fall, Winter, Spring, and Summer, however you can extend this example to configure events for anything you want. Each event displays the currency rewards you can win during the event, a countdown indicating how much time is left in the current event, and a **Play Challenge** button that opens a pop-up where players can collect their rewards for "winning" the challenge.|
|Starter packs are one-time deals that grant new players additional resources at a discount. Starter packs improve the onboarding process and boost engagement early, and can also help convert new players to paying users.This sample demonstrates how to create a one-time starter pack deal in your game that a player can purchase with in-game currency.|
|Virtual shops are a key feature in most free-to-play games. They allow players to purchase items and exchange resources within the game environment to facilitate the in-game economy. When properly implemented as part of your core game loop, they can drive engagement and provide opportunities for players to express their unique play styles.|