Reference the In-App Purchasing Catalog to configure and manage product properties and store overrides.
Read time 3 minutesLast updated 10 hours ago
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.