Battle Pass System¶
The Battle Pass system is a popular monetization strategy in video games, especially in free-to-play online multiplayer games. It consists of a series of tiers with rewards that players can earn by completing specific challenges or tasks within the game.
Typically, there are two tracks in a Battle Pass: a free track and a premium track. The free track is available to all players and offers basic rewards, while the premium track offers more valuable and exclusive rewards but requires the player to purchase the Battle Pass with real money or in-game currency.
Players progress through the tiers of the Battle Pass by earning experience points (XP) or completing specific challenges. The more you play, the more rewards you unlock. Once the season ends, a new Battle Pass is released with a new set of rewards and challenges.
This system encourages continuous play and engagement with the game, as players are motivated to complete challenges and earn rewards before the season ends. It also provides a way for developers to monetize their game while offering value to the players.
In the example image above, you can see the two tracks of the Battle Pass. The top track is the premium track, which includes exclusive rewards such as skins, emotes, and in-game currency. The bottom track is the free track, which includes basic rewards such as experience points and consumable items. Players can progress through the tiers by earning experience points or completing challenges.
Passes¶
The Battle Pass template allows you to create multiple configs. You can provide different rules for each of the configs. The configs are called Documents in Balancy. One of the parameters in Battle Pass is Condition. We are going to use it to give different configs for players, depending on their level, but you can come up with any other segmentation.
Each document also has a parameter Points, where you can specify the content of the battle passes. There are multiple levels of reward available for players during their progress in the game. On each level there are Free and Premium
Section for programmers¶
using Balancy;
using Balancy.Models;
using UnityEngine;
public class BattlePassExample
{
public BattlePass GetActiveBattlePass()
{
return DataEditor.BattlePass.Get();
}
public void PrintActivePassInfo()
{
var activeBattlePass = GetActiveBattlePass();
if (activeBattlePass == null)
Debug.LogError("No Battle Pass active");
else
{
Debug.LogWarning($"==> {activeBattlePass.Points.Length} Points");
foreach (var point in activeBattlePass.Points)
{
Debug.Log($"{point.Scores} : Free Reward = {point.FreeReward.Items.Length} ; Premium Reward = {point.PremiumReward.Items.Length}");
}
}
}
}
What's next¶
- Import the Template.
- Deploy the changes.
- Open the Unity project and generate the code.
- Add the files to your project, written above.
- Initialize Balancy.
- Add the following code in the callback.
var pass = new BattlePassExample();
pass.PrintActivePassInfo();