Before players can purchase items in your game, you need to create products in both Unity and your app store dashboards. Each product must have a unique Product ID that matches across Unity, Google Play Console, and App Store Connect.
This guide explains how to create and organize your products for a production-ready Unity IAP implementation.
Complete the previous guides before continuing:
A product represents an item that players can purchase inside your game.
Examples include:
- Coin Packs
- Remove Ads
- Premium Upgrade
- Character Packs
- VIP Membership
- Battle Pass
- Monthly Subscription
Each product has:
- Product ID
- Display Name
- Description
- Price
- Product Type
Unity IAP supports three primary product types.
Consumable products can be purchased multiple times.
Examples:
- Coins
- Gems
- Energy
- Hints
- Lives
These products are purchased once and permanently unlocked.
Examples:
- Remove Ads
- Premium Version
- Unlock All Levels
- Character Bundle
Subscriptions provide recurring access to premium content.
Examples:
- VIP Membership
- Monthly Pass
- Premium Access
- Exclusive Rewards
Every product requires a unique Product ID.
Example naming convention:
com.company.game.coin100
com.company.game.coin500
com.company.game.removeads
com.company.game.premium
com.company.game.vip.monthly
- Use lowercase letters.
- Avoid spaces.
- Keep IDs permanent.
- Never change a Product ID after publishing.
- Use descriptive names.
A good Product ID should clearly describe the item.
Good examples:
coin100
coin500
removeads
premiumupgrade
starterpack
monthlyvip
Avoid names like:
item1
product2
abc123
testproduct
Clear naming makes long-term maintenance much easier.
Once Unity IAP is installed, you'll add products to your purchasing system.
Each product should include:
- Product ID
- Product Type
- Localized Title
- Localized Description
Unity uses this information to communicate with the app stores during the purchase process.
For Android games, create matching products in Google Play Console.
Each product must use the exact same Product ID as your Unity project.
Example:
| Product | Product ID |
|---|---|
| 100 Coins | com.company.game.coin100 |
| Remove Ads | com.company.game.removeads |
| Monthly VIP | com.company.game.vip.monthly |
Any mismatch will cause purchases to fail.
For iOS games, create the same products in App Store Connect.
Ensure that:
- Product IDs are identical to Unity.
- Pricing is configured.
- Products are approved before release.
- Localizations are complete.
As your game grows, organizing products becomes increasingly important.
Example:
Coins
- coin100
- coin500
- coin1000
Premium
- removeads
- premiumupgrade
Subscriptions
- vip.monthly
- vip.yearly
This structure makes product management much easier.
Avoid these common configuration errors:
- Different Product IDs between Unity and store dashboards
- Using spaces in Product IDs
- Renaming published Product IDs
- Incorrect product type selection
- Forgetting to activate products in the store console
These mistakes are among the most common causes of purchase failures.
- Plan all Product IDs before development.
- Use consistent naming conventions.
- Group similar products together.
- Test every product before release.
- Keep a document listing all Product IDs used in your project.
Before continuing, confirm the following:
- All Product IDs created
- Product types selected correctly
- Google Play products configured
- App Store products configured
- Product IDs match exactly across all platforms
- Products activated in the store dashboards
Now that your products have been created, it's time to implement purchasing logic.
We'll start with Consumable Purchases, which are the most common product type in mobile games.
You'll learn how to:
- Register consumable products
- Process purchases
- Reward players
- Handle successful and failed transactions
You can also jump to any section of the guide: