IAP Catalog window reference
The IAP Catalog is a Unity Editor tool where you can define, organize, and manage IAP products for your application in a centralized location.
Use the IAP Catalog to create and manage products for in-app purchases directly within the Unity Editor. The catalog provides a unified interface for configuring product IDs, types (consumable, non-consumable, subscription), and store-specific overrides, making it easier to keep your product definitions consistent across different platforms and stores.
To access the IAP Catalog, open the Unity Editor, and go to Services > In-App Purchasing > IAP Catalog.
IAP Catalog properties
The following tables describe the properties you can configure in the IAP Catalog.
Product
Settings | Description |
---|---|
ID | The unique identifier for the product. This must match the identifier used on the target store. |
Type | The type of product. Select Consumable, Non-Consumable, or Subscription. |
Advanced descriptions
You can provide advanced descriptions for each product to support multiple languages in your catalog. Additionally, under Translations, you can define additional localized titles and descriptions for your products.
Settings | Description |
---|---|
Locale | Determines the app stores available in your region. |
Title | The localized display name for the product. |
Description | The descriptive text for your product as it appears in an app store, usually an explanation of what the product is. |
Payouts
Use the Payouts section to define what the player receives when they purchase the product.
Settings | Description |
---|---|
Type | The type of payout (such as Currency, Item,Resource or Other). |
Subtype | Provides a level of granularity to the content category. |
Quantity | The amount of the payout delivered to the player. |
Data | Optional. Use this field any way you like as a property to reference in code. For example, a flag for a UI element. |
Note: You can add multiple payouts to a single product.
For more information on the PayoutDefinition
class, refer to the Scripting Reference. You can always add payout information to a product in a script using this class.
An example of payout information using the PayoutDefinition
class:
public static ProductDefinition Consumable =
new ProductDefinition("coins", "com.outlinegames.100goldcoins", ProductType.Consumable, true,
new List<PayoutDefinition>
{
new PayoutDefinition(PayoutType.Currency, "gold", 100),
});
Store ID Overrides
In the Store ID Overrides section, you can specify store-specific product identifiers and configuration settings for each supported platform. This ensures your products are correctly mapped and configured for each app store.
Settings | Description |
---|---|
AppleAppStore | The product ID as registered on the Apple App Store. |
GooglePlay | The product ID as registered on Google Play. |
MacAppStore | The product ID as registered on the Mac App store. |
Note: By default, Unity IAP assumes that your product has the same product ID across all app stores. Unity recommends doing this where possible. However, there are occasions when this is not possible, such as when publishing to both iOS and Mac stores, which prohibit developers from using the same product ID across both.
Google Configuration
Define how a product’s price is managed on the Google Play Store.
Settings | Description |
---|---|
Price | Enter a price. |
Pricing Template | Enter an ID for a pricingg template created in Google Play. |
Apple Configuration
Define how a product’s price is managed on the Apple Store.
Settings | Description |
---|---|
Price Tier | Enter the pricing tier. |
Pricing Template | Use Select a screenshot to upload the pricing template. |
Note: The prices set in the Google and Apple configurations are used when generating a product list from the Catalog to import into the stores. However, the store is always the source of truth for prices, as it ultimately determines and charges the final amount to the user.
Advanced settings
The Advanced settings section includes options for initialization, catalog export, and additional Apple-specific configuration.
Settings | Description |
---|---|
Automatically initialize UnityIAPServices (recommended) | Enable this to automatically initialize Unity IAP Services when the application starts. Recommended for most projects. |
Automatically initialize Unity Gaming Services | Automatically initializes Unity Gaming Services when the application starts. |
Catalog export | Provides options to export the catalog for app store submission or external use. |
Apple SKU | The Apple Stock Keeping Unit (SKU) for the product, as defined in App Store Connect. |
Apple Team ID | The Apple Team ID associated with your Apple developer account. |