home / skills / pluginagentmarketplace / custom-plugin-game-developer / monetization-systems

monetization-systems skill

/skills/monetization-systems

This skill helps you design ethical monetization, balance in-game economies, and implement purchase systems across platforms.

npx playbooks add skill pluginagentmarketplace/custom-plugin-game-developer --skill monetization-systems

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
15.6 KB
---
name: monetization-systems
version: "2.0.0"
description: |
  Game monetization strategies, in-app purchases, battle passes, ads integration,
  and player retention mechanics. Ethical monetization that respects players.
sasmp_version: "1.3.0"
bonded_agent: 07-game-publishing
bond_type: PRIMARY_BOND

parameters:
  - name: model
    type: string
    required: false
    validation:
      enum: [premium, f2p, freemium, subscription, ad_supported]
  - name: platform
    type: string
    required: false
    validation:
      enum: [mobile, pc, console, web]

retry_policy:
  enabled: true
  max_attempts: 3
  backoff: exponential

observability:
  log_events: [start, complete, error, purchase, refund]
  metrics: [arpu, arppu, conversion_rate, ltv, retention]
---

# Monetization Systems

## Monetization Models

```
CHOOSING YOUR MODEL:
┌─────────────────────────────────────────────────────────────┐
│  GAME TYPE                    → RECOMMENDED MODEL           │
├─────────────────────────────────────────────────────────────┤
│  Story-driven / Single play   → PREMIUM ($10-60)           │
│  Competitive multiplayer      → F2P + Battle Pass          │
│  Mobile casual                → F2P + Ads + Light IAP      │
│  MMO / Live service           → Subscription + Cosmetics   │
│  Indie narrative              → Premium + Optional tip jar │
└─────────────────────────────────────────────────────────────┘

ETHICAL PRINCIPLES:
┌─────────────────────────────────────────────────────────────┐
│  ✅ DO:                        ❌ DON'T:                    │
│  • Cosmetics only              • Pay-to-win                 │
│  • Clear pricing               • Hidden costs               │
│  • Earnable alternatives       • Predatory targeting        │
│  • Transparent odds            • Gambling mechanics         │
│  • Respect time/money          • Exploit psychology         │
│  • Value for purchase          • Bait and switch            │
└─────────────────────────────────────────────────────────────┘
```

## IAP Implementation

```csharp
// ✅ Production-Ready: Unity IAP Manager
public class IAPManager : MonoBehaviour, IStoreListener
{
    public static IAPManager Instance { get; private set; }

    private IStoreController _storeController;
    private IExtensionProvider _extensionProvider;

    // Product IDs (match store configuration)
    public const string PRODUCT_STARTER_PACK = "com.game.starterpack";
    public const string PRODUCT_GEMS_100 = "com.game.gems100";
    public const string PRODUCT_BATTLE_PASS = "com.game.battlepass";
    public const string PRODUCT_VIP_SUB = "com.game.vip_monthly";

    public event Action<string> OnPurchaseComplete;
    public event Action<string, string> OnPurchaseFailed;

    private void Awake()
    {
        if (Instance != null) { Destroy(gameObject); return; }
        Instance = this;
        DontDestroyOnLoad(gameObject);

        InitializePurchasing();
    }

    private void InitializePurchasing()
    {
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        // Consumables
        builder.AddProduct(PRODUCT_GEMS_100, ProductType.Consumable);

        // Non-consumables
        builder.AddProduct(PRODUCT_STARTER_PACK, ProductType.NonConsumable);

        // Subscriptions
        builder.AddProduct(PRODUCT_VIP_SUB, ProductType.Subscription);
        builder.AddProduct(PRODUCT_BATTLE_PASS, ProductType.Subscription);

        UnityPurchasing.Initialize(this, builder);
    }

    public void BuyProduct(string productId)
    {
        if (_storeController == null)
        {
            OnPurchaseFailed?.Invoke(productId, "Store not initialized");
            return;
        }

        var product = _storeController.products.WithID(productId);
        if (product != null && product.availableToPurchase)
        {
            _storeController.InitiatePurchase(product);
        }
        else
        {
            OnPurchaseFailed?.Invoke(productId, "Product not available");
        }
    }

    public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
    {
        var productId = args.purchasedProduct.definition.id;

        // Validate receipt (server-side recommended for security)
        if (ValidateReceipt(args.purchasedProduct.receipt))
        {
            // Grant the purchase
            GrantPurchase(productId);
            OnPurchaseComplete?.Invoke(productId);
        }

        return PurchaseProcessingResult.Complete;
    }

    private void GrantPurchase(string productId)
    {
        switch (productId)
        {
            case PRODUCT_GEMS_100:
                PlayerInventory.AddGems(100);
                break;
            case PRODUCT_STARTER_PACK:
                PlayerInventory.UnlockStarterPack();
                break;
            case PRODUCT_BATTLE_PASS:
                BattlePassManager.Activate();
                break;
        }
    }

    // IStoreListener implementation...
    public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
    {
        _storeController = controller;
        _extensionProvider = extensions;
    }

    public void OnInitializeFailed(InitializationFailureReason error) { }
    public void OnPurchaseFailed(Product product, PurchaseFailureReason reason) { }
}
```

## Battle Pass Design

```
BATTLE PASS STRUCTURE:
┌─────────────────────────────────────────────────────────────┐
│  SEASON LENGTH: 8-12 weeks                                   │
│  TIERS: 100 levels                                           │
│  XP PER TIER: 1000 (increases gradually)                    │
├─────────────────────────────────────────────────────────────┤
│  FREE TRACK:                                                 │
│  • Common rewards every 5 levels                            │
│  • 1-2 rare items mid-season                                │
│  • Currency to buy next pass (partial)                      │
├─────────────────────────────────────────────────────────────┤
│  PREMIUM TRACK ($10):                                        │
│  • Exclusive skin at level 1 (instant value)                │
│  • Premium rewards every level                              │
│  • Legendary items at 25, 50, 75, 100                       │
│  • Enough currency to buy next pass (with effort)           │
├─────────────────────────────────────────────────────────────┤
│  XP SOURCES:                                                 │
│  • Daily challenges: 500 XP                                 │
│  • Weekly challenges: 2000 XP each                          │
│  • Playtime: 50 XP per match                                │
│  • Special events: Bonus XP weekends                        │
└─────────────────────────────────────────────────────────────┘
```

## Economy Design

```
DUAL CURRENCY SYSTEM:
┌─────────────────────────────────────────────────────────────┐
│  SOFT CURRENCY (Gold/Coins):                                 │
│  • Earned through gameplay                                  │
│  • Used for: Upgrades, basic items, consumables             │
│  • Sink: Level-gated purchases, repair costs               │
├─────────────────────────────────────────────────────────────┤
│  HARD CURRENCY (Gems/Diamonds):                              │
│  • Purchased with real money                                │
│  • Small amounts earnable in-game                           │
│  • Used for: Premium cosmetics, time skips                  │
│  • NEVER required for core gameplay                         │
└─────────────────────────────────────────────────────────────┘

PRICING PSYCHOLOGY:
┌─────────────────────────────────────────────────────────────┐
│  $0.99  - Impulse buy, low barrier                          │
│  $4.99  - Starter pack sweet spot                           │
│  $9.99  - Battle pass standard                              │
│  $19.99 - High-value bundles                                │
│  $49.99 - Whale offering (best value/gem)                   │
│  $99.99 - Maximum purchase (regulations)                    │
└─────────────────────────────────────────────────────────────┘
```

## Key Metrics

```
MONETIZATION KPIS:
┌─────────────────────────────────────────────────────────────┐
│  CONVERSION RATE: 2-5% (F2P)                                 │
│  ARPU: $0.05-0.50/DAU (casual mobile)                       │
│  ARPPU: $5-50/paying user                                   │
│  LTV: Should exceed CPI by 1.5x+                            │
├─────────────────────────────────────────────────────────────┤
│  HEALTHY INDICATORS:                                         │
│  ✓ D1 retention > 40%                                       │
│  ✓ D7 retention > 20%                                       │
│  ✓ Conversion > 2%                                          │
│  ✓ LTV/CPI > 1.5                                            │
│  ✓ Refund rate < 5%                                         │
└─────────────────────────────────────────────────────────────┘
```

## 🔧 Troubleshooting

```
┌─────────────────────────────────────────────────────────────┐
│ PROBLEM: Low conversion rate (< 1%)                         │
├─────────────────────────────────────────────────────────────┤
│ ROOT CAUSES:                                                 │
│ • IAP offers too expensive                                  │
│ • Poor first purchase experience                            │
│ • No perceived value                                        │
│ • Wrong timing                                              │
├─────────────────────────────────────────────────────────────┤
│ SOLUTIONS:                                                   │
│ → Add high-value starter pack                               │
│ → Show IAP after engagement hook                            │
│ → A/B test price points                                     │
│ → Improve soft currency scarcity                            │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ PROBLEM: High refund rate (> 10%)                           │
├─────────────────────────────────────────────────────────────┤
│ ROOT CAUSES:                                                 │
│ • Unclear what purchase provides                            │
│ • Buyers remorse (poor value)                               │
│ • Accidental purchases                                      │
│ • Technical issues                                          │
├─────────────────────────────────────────────────────────────┤
│ SOLUTIONS:                                                   │
│ → Add purchase confirmation                                 │
│ → Show exactly what user receives                           │
│ → Improve purchase value                                    │
│ → Fix any delivery bugs                                     │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ PROBLEM: Economy inflation                                  │
├─────────────────────────────────────────────────────────────┤
│ SOLUTIONS:                                                   │
│ → Add more currency sinks                                   │
│ → Reduce faucets gradually                                  │
│ → Introduce prestige/reset systems                          │
│ → Create consumable high-end items                          │
└─────────────────────────────────────────────────────────────┘
```

## Compliance

| Region | Requirement |
|--------|-------------|
| EU | Loot box odds disclosure |
| Belgium | No loot boxes |
| China | Odds, spending limits |
| Japan | Kompu gacha banned |
| US | COPPA for under-13 |

---

**Use this skill**: When designing monetization, balancing economy, or implementing purchasing systems.

Overview

This skill helps game developers design and implement ethical monetization systems, covering model selection, in-app purchase implementation, battle pass design, dual-currency economies, KPIs, and regional compliance. It focuses on practical, engine-aware patterns and outcomes that respect players while maximizing sustainable revenue.

How this skill works

The skill inspects project goals and game type to recommend a monetization model (premium, F2P, subscriptions, ads). It provides production-ready integration patterns (example IAP manager flow), battle pass structures, economy rules (soft vs hard currency), pricing guidance, and troubleshooting steps tied to KPIs. It also flags regional compliance requirements and ethical guardrails.

When to use it

  • Picking a monetization model early in the design or pivoting mid-development
  • Implementing in-app purchases or subscriptions across engines
  • Designing a battle pass or seasonal progression system
  • Balancing dual-currency economy and pricing tiers
  • Investigating poor conversion, high refunds, or inflation issues

Best practices

  • Choose a model aligned with game type and player expectations (e.g., F2P + battle pass for competitive multiplayer)
  • Keep monetization ethical: cosmetics, clear pricing, earnable alternatives, and transparent odds
  • Validate receipts server-side and centralize purchase handling for security
  • Design a dual-currency system where hard currency is never required for core progression
  • Measure core KPIs (D1/D7 retention, conversion, ARPU, LTV/CPI) and iterate with A/B tests

Example use cases

  • Add a starter-pack and validated IAP flow to improve first-purchase conversion
  • Create a 10-week battle pass with 100 tiers and daily/weekly XP sources to boost retention
  • Introduce soft and hard currency sinks to control inflation in a live-service MMO
  • Diagnose low conversion by testing pricing, offer timing, and starter-pack incentives
  • Adapt monetization for a new market by applying region-specific compliance (loot box rules, spending limits)

FAQ

What monetization model should I pick for a narrative single-player game?

Premium upfront purchase is recommended, optionally with a tip jar or cosmetic pack; avoid pay-to-win mechanics.

How long should a battle pass season be?

Aim for 8–12 weeks with around 100 tiers and a mix of daily and weekly XP sources to balance pace and engagement.