Create a catalog in the Editor
Create and configure Unity IAP catalog listings using the IAP Catalog window.
Read time 6 minutesLast updated 4 days ago
IAP Catalog
The IAP Catalog is a Unity Editor window that provides a codeless, visual interface to define and manage your catalog.
The catalog is the required method for implementing Codeless IAP and provides a central location in the Unity Editor to configure listing attributes, pricing, and store-specific information.
Prerequisites
Before you begin, complete the steps in the Get started guide.
Add listings to your catalog
To add listings to your catalog, use the IAP Catalog:
- In the Unity Editor, select Services > In-App Purchasing > IAP Catalog.
- Select Add Product to create a new listing.
- Enter a unique Product ID, select the appropriate Product type (Consumable, Non-Consumable, or Subscription), and provide a display name.
- Set attributes such as price, payout, and store-specific IDs. For information on each setting, refer to the IAP Catalog window reference.
Repeat these steps for each listing you want to offer.
Migrate your catalog to the Remote Catalog
Starting in version 5.4.4, you can convert a local file into a catalog CSV file that you deploy to the Remote Catalog. Unity IAP doesn't modify your local file, which continues to work as it did before.
IAPProductCatalog.jsonYou can keep your catalog in the Editor, but the recommended best practice is to migrate it. A Remote Catalog lets you change your products and your prices without your players having to update your application. It also lets you configure your product information once, instead of once for each payment provider.
The migration options appear only when your project has a local catalog that holds at least one listing with an ID.
The Remote Catalog has no equivalent for payouts, screenshot paths, or pricing templates, so the migration doesn't carry them over. Your local file still holds these values, and Codeless IAP keeps reading them, but they aren't available to an application that serves the Remote Catalog. For the full list, refer to Fields that the migration converts.
To migrate your catalog from the Project Settings window, follow these steps:
- In the Unity Editor, select Project Settings > Services > In-App Purchasing.
- Under Legacy Catalog, select Migrate to Remote Catalog.
- In the Project window, review the file that Unity IAP highlights, including the
MigratedCatalog.catalog.csvcolumn.CurrencyCode
To migrate from the IAP Catalog window instead, select Migrate to Remote Catalog near the top of the window. Unity IAP saves any pending changes to your local catalog before it converts them.
Unity IAP writes the CSV file to the folder that's selected in the Project window. If that folder already holds a file with the same name, Unity IAP appends a number to the new file name.
Every catalog item must include a pricing row in . Otherwise, Unity IAP won’t deploy the item.
To price an item in another currency, follow these steps:
USD- Correct the amount in the item’s USD row. Don’t change its .
CurrencyCode - Duplicate the row.
- In the new row, enter the appropriate and
CurrencyCode. Use the sameAmountfor both rows.CatalogListingId
After you review the file, deploy it from the Deployment window in the same way as any other catalog CSV file. For the columns that the file uses, refer to Author catalog items in a CSV file.
Fields that the migration converts
The following table describes what happens to each part of a local catalog listing.
Local catalog field | Result |
|---|---|
| ID | Becomes the |
| Type | Becomes the |
| Title and Description, including translations | Become one CSV row per locale. |
| Price in the Google configuration | Becomes the |
| AppleAppStore, GooglePlay, and MacAppStore ID overrides | Become store ID overrides. |
| Payouts | Not converted. |
| Screenshot path | Not converted. |
| Pricing Template | Not converted. |
| Price Tier in the Apple configuration | Not converted. A listing that only has an Apple price tier converts with no price, so set a price for it in the generated file. |
| ID overrides for any other store | Not converted. The Remote Catalog has no equivalent for stores such as WinRT. |
Console messages during migration
Unity IAP reports the result of a migration in the Console window. The following table describes each message and how to respond to it.
Message | Meaning | Action |
|---|---|---|
| The migration succeeded. | Review the file at that path, then deploy it. |
| Your local catalog holds no listings, or none of them have an ID. | Add at least one listing with an ID, then migrate again. |
| A local catalog allows values that the Remote Catalog rejects. For example, a Google Play title can hold up to 55 characters in a local catalog, but the Remote Catalog allows 50. | Correct the listings that the message names, then deploy. |
| The message names each field that the migration skipped, each listing that has only an Apple price tier, and the assumed currency if at least one listing has a Google price. | Set a price for each listing that has only an Apple price tier. The skipped fields need no action. Check the |