Documentation

In-App Purchasing

Client API

SDK API

In-App Purchasing

Catalogs and catalog listings

Understand how to use catalogs and catalog listings in Unity IAP, and choose the best method to define your listings.
Read time 2 minutesLast updated 6 hours ago

In Unity In-App Purchasing, an IAP catalog contains all the digital items that players can purchase within your application, such as virtual currency, new game levels, premium features, or subscriptions. Each individual entry in a catalog is a catalog listing. You can define your catalog in the following ways:

Method

When to use

D2C compatible?

Define catalog listings programmatically.Define your catalog directly in your scripts.Yes
Create a remote catalog via the Editor or API.Use one of these methods to create a catalog that can distribute your listings without the need for a client update.Yes
Use the IAP Catalog window in the Editor.This method is required if you want to use codeless IAP.No
Regardless of the method you use, you can import an existing catalog in the Dashboard to manage, edit, and deploy your catalog from the Dashboard.

Listing attributes

You define every catalog listing with a standard set of attributes that control its behavior and how it appears to players and in the digital store. The following are some key attributes that define a listing's behavior and presentation. For more information, refer to the catalog schema.

Catalog Listing ID

The Catalog Listing ID is a unique, cross-platform identifier for the underlying item. It's used to communicate with the app stores and can be overridden with store-specific IDs if needed. Catalog Listing IDs must only contain lowercase letters, numbers, underscores, and periods.

Product types

The Product type defines how an item can be purchased and whether it can be restored. The following product types are available:

Type

Description

Examples

D2C compatible?

ConsumableAn item that a player can purchase multiple times and is depleted upon use. Consumable items can't be restored. For example, virtual currency or temporary power-ups.- Virtual currencies
- Health potions
- Temporary power-ups
Yes
Non-ConsumableAn item that a player can only purchase once. These items are permanently owned and can be restored after reinstalling the application. For example, unlocking a new character or removing ads.- Weapons or armor
- Access to extra content
- No ads
Yes
SubscriptionAn item that grants access to content or features for a set period. For example, monthly VIP access or a battle pass.- Monthly access to an online game
- VIP status granting daily bonuses
- A free trial
No

Payouts

The Payout attribute (optional) specifies the content a player receives after a successful purchase, such as 100 Gold Coins. Specify the payout to associate each transaction with a particular item and quantity, for example, 100 Gold Coins. The Payouts attribute simplifies in-game inventory management and ensures players receive the correct rewards or items for their purchases. To implement coded IAP, call
ProductCatalog.LoadDefaultCatalog
to access the catalog in your scripts. For codeless IAP, the catalog is integrated automatically, so no additional action is required. If you prefer to define your own catalog in code, Unity also provides the optional
CatalogProvider
class, which helps simplify the process of creating a custom catalog.