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

SettingsDescription
IDThe unique identifier for the product. This must match the identifier used on the target store.
TypeThe 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.

SettingsDescription
LocaleDetermines the app stores available in your region.
TitleThe localized display name for the product.
DescriptionThe 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.

SettingsDescription
TypeThe type of payout (such as Currency, Item,Resource or Other).
SubtypeProvides a level of granularity to the content category.
QuantityThe amount of the payout delivered to the player.
DataOptional. 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.

SettingsDescription
AppleAppStoreThe product ID as registered on the Apple App Store.
GooglePlayThe product ID as registered on Google Play.
MacAppStoreThe 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.

SettingsDescription
PriceEnter a price.
Pricing TemplateEnter an ID for a pricingg template created in Google Play.

Apple Configuration

Define how a product’s price is managed on the Apple Store.

SettingsDescription
Price TierEnter the pricing tier.
Pricing TemplateUse 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.

SettingsDescription
Automatically initialize UnityIAPServices (recommended)Enable this to automatically initialize Unity IAP Services when the application starts. Recommended for most projects.
Automatically initialize Unity Gaming ServicesAutomatically initializes Unity Gaming Services when the application starts.
Catalog exportProvides options to export the catalog for app store submission or external use.
Apple SKUThe Apple Stock Keeping Unit (SKU) for the product, as defined in App Store Connect.
Apple Team IDThe Apple Team ID associated with your Apple developer account.