Create your Remote Catalog
Define your product catalog and upload it to the Remote Catalog service.
Read time 5 minutesLast updated 3 hours ago
Configure your product catalog and upload it to the Remote Catalog service so your users can access the latest products for your application, without having to install a new version. If you upload your product catalog to the Remote Catalog, the Unity IAP SDK can retrieve the product catalog from the
RemoteCatalogProvider- You ensure real-time distribution of your products and pricing without the need for your users to update their applications.
- You don't have to configure product information across multiple payment providers.
Products and catalog listings
Unity IAP represents your catalog with two related concepts:- A product is what you grant to the user. Each product has a SKU, also called the .
productId - A catalog listing is a purchasable version of a product, identified by a . A product can have several catalog listings, so you can sell the same product in more than one way.
catalogListingId
catalogListingIdproductIdcatalogListingIdDefine your product catalog
You can use the following methods to define information about your products in a remote product catalog:- In the Unity Editor (recommended)
- Import an existing catalog from the App Store or Google Play
- Use the API
- Use a custom integration
Create a product catalog in the Unity Editor
If you define products in the Unity Editor, the Editor stores your product configurations in files so you can use config-as-code workflows to manage them. To create a product in the Unity Editor, follow these steps:- To create a catalog item, right-click in a directory and select Create > Services > IAP Catalog item.
- Give your catalog item a name. This creates a Catalog Item asset, and opens the asset in the Inspector window.
- Enter the details for your catalog item. For more information, refer to the Catalog Item asset Inspector reference.
- Select Apply.

Catalog Item Asset Inspector reference
Refer to the following properties to define your IAP catalog items:Property | Description |
|---|---|
| Script | Filled by default. |
| Catalog Listing Id | Filled by default (uses the file path). The identifier you use to target this listing when you start a purchase. |
| SKU | Filled by default (uses the file name). |
| Product Type | Select the type of IAP product. |
| Product Details | Enter information about the product, including:
|
| Pricing Details | Enter the product price information, including:
|
| Image URL | Enter an image URL to specify which image to display for the product. |
| Store ID Overrides | Optional. Map your listing to the App Store and Google Play, which have different naming requirements. Only use these fields if your SKU doesn't meet a store's requirements:
|
Import an existing catalog
If you already have a catalog configured in the App Store or Google Play, you can import it into the Unity Editor instead of recreating your products.- In the Unity Editor, select Services > In-App Purchasing > Import Catalog.
- Select the App Store or Google Play Store tab for the store you want to import from.
- Under Step 1: Fetch Catalog Data, enter your store credentials, then select Fetch Catalog:
- Secret Key
- Secret Scope
- Under Step 2: Import or Export, set the Import New destination path for the generated catalog items, then select Apply.
After you import your catalog, upload it to the Remote Catalog service.
Use the API to create a product catalog
Use this method if you prefer to manage your product catalog through an Editor script instead of using the Unity Editor UI. First, you have to create an.asmdef.asmdefThen, you can use the{ "name": "MyIAPProject.Authoring", "rootNamespace": "MyIAPProject.Authoring", "references": [ "Unity.Services.Core", "Unity.Services.Core.Editor", "Unity.Services.Core.Internal", "Unity.Services.DeploymentApi", "Unity.Services.Core.Environments.Editor", "UnityEditor.Purchasing.Authoring", "UnityEditor.Purchasing.Editor.Authoring.Core", "Unity.Purchasing.Editor.Shared", "Unity.Purchasing" ], "includePlatforms": [ "Editor" ]}
ILiveContentConfigClient- Obtain the relevant services through the :
PurchasingAuthoringServiceProviderILiveContentConfigClientIEnvironmentsApiPurchasingAuthoringServiceProvider.GetService<ILiveContentConfigClient>()
- Initialize the interface with the required information.
ILiveContentConfigClient - Make calls to read/update the catalog (these calls are made with the current signed in user authority).
Refer to the following code sample:
[MenuItem("IAP/Deployment/Get and print the catalog")]public static async void Select(){ var lcc = PurchasingAuthoringServiceProvider.GetService<ILiveContentConfigClient>(); var env = PurchasingAuthoringServiceProvider.GetService<IEnvironmentsApi>(); await lcc.Initialize( env.ActiveEnvironmentId.ToString(), CloudProjectSettings.projectId, CancellationToken.None); var items = await lcc.List(CancellationToken.None); Debug.Log(string.Join("\n", items.Select(i => $"{i.uSku} - {i.ProductDetails[0].Description}")));}
Use a custom Deployment window integration to create your product catalog
You can use the Deployment window to host custom integrations, so you can create a simple custom deployment such as CSV or excel directly to the Remote Catalog. For information on how to create a simple Deployment window, refer to the Deployment package documentation.Upload your product catalog to the Remote Catalog service
Use the Deployment window to upload your products to the Remote Catalog:- In the Unity Editor, select Services > Deployment to open the Deployment window.
- Select the products you want to add to your Remote Catalog and select Deploy Selected.

Delete products from your remote catalog
There are multiple ways you can delete an item from the remote catalog in the Unity Editor:- Open the catalog item in the Inspector window and select Delete Remote.
- Open the Deployment window, right-click the catalog item, and select Delete Remote.