Setting up add-ons
Updated: Dec 17, 2024
This topic discusses how to set up in-app purchases so they will become available for integration with your app. You need to define the items that you will be offering for purchase–-subscription-based items are defined in a different spot than durable or consumable IAP.
Define subscriptions in the subscriptions dashboard
Use the Subscriptions page of the
developer dashboard to define subscription items for purchase. From this dashboard, you can set the name, SKU, description, price, subscription tiers, subscription periods, and other information that describes the subscription. For more information, see
Subscriptions.
Define durable or consumable IAP in the add-on dashboard
Use the Add-on page of the
Developer Dashboard to define durable or consumable items for purchase. This dashboard enables you to set a name, the SKU that you use to reference the add-on in your code, a description, price, assets, and other information that describe the add-on. A description is required in order to retrieve purchasable items by SKU using API commands.
Creating add-ons and adding store assets
Use the following steps to create add-ons and add store assets:
- Open your browser and navigate to the Developer Dashboard.
- From the left-side navigation, choose Platform Services > Add-ons.
- Click Create Add-on.
- On the Details tab, provide:
- SKU: How you reference your add-on in code and when uploading files. Note that SKUs can only contain alphanumeric characters, periods, dashes, and underscores. There is one SKU for all language versions of the add-on.
- Add-on Type: The type of add-on.
- Show in Store: Controls whether your add-on will have its own store listing. Show in store add-ons have additional asset requirements and require review before publishing.
- On the Pricing tab provide your desired price. Keep the following in mind when pricing your add-on:
- The price is specified in United States dollars (USD $), and is automatically converted to other currencies.
- Add-on content will display a $0.01 offer for developers in that org. Your customers will not see this value, but the price you define for the add-on content.
- On the Metadata tab fill out all required fields. Keep the following in mind when filling out these fields:
- You can choose Advanced Metadata Editing. This will show you additional options and settings for your add-on.
- When you’re finished, click Publish for not shown in store add-ons or Submit for Review for shown in store add-ons.
Once you submit your add-on for review, note that it won’t be published automatically when it’s approved. You will need to come back to the add-ons table and schedule a release date. Once published, an add-on is automatically associated with new app builds you upload, unless you specify otherwise.
If you choose to submit your add-ons for store review it must meet the store content requirements. For store content guidelines and best practices, see
Content Guidelines and
Asset Best Practices. You should budget at least seven days prior to your desired launch date to allow time for the store review process and request any necessary changes.
Once released, it will be available to all users from the Add-on and Downloadable Content sections of your PDP in the Meta Horizon Store.
You can schedule a specific release date for your add-ons. The scheduling process varies based on the selected Show in Store setting when the add-on was created.
For add-ons with multiple versions, remember the following:
- Schedule different versions in their release order. For instance, version 2 (v2) of your app’s add-on cannot be released before version 1 (v1).
- You cannot use the Release Now option for v2 if v1 is not yet published.
Scheduling Show in Store add-ons:
When your Show in Store add-on has been approved, you’ll need to schedule a release date before you can make other changes to your add-on. Use these steps to schedule the release:
- Open your browser and go to the Developer Dashboard.
- Select My Apps from the left-side navigation, then choose your app.
- Navigate to Platform Services and then to Add-ons.
In Pending Updates, click the pencil icon to schedule the date and time for publishing your add-on.
In Publish, decide whether to schedule the release or publish immediately. Set the date and time for the release. Note that you are not allowed to publish immediately if your previous update hasn’t been released.
- Click Schedule release.
Scheduling add-ons without a Store PDP:
- Follow the steps for Creating add-ons and adding store assets.
- In Publish, choose to either schedule the release or publish immediately. Set the date and time for the release.
- Click Schedule release.
Choose the age rating for your paid add-ons
The age rating for paid add-on content can be different from the age rating of the base app it belongs to. Age ratings for apps are maintained by the International Age Rating Coalition (
IARC). This allows you to publish paid IAP and paid DLC that are higher rated than the base app.
Setting the age rating for your paid add-ons
Use the following steps to create an IARC rating different from the base app:
- Open your browser and navigate to the Developer Dashboard.
- Select your app and from the left-side navigation click Platform Services > Add-ons.
- Click on the add-on that you want to update.
- Check the Details tab to ensure that you have a SKU for the add-on.
- Click the Metadata tab (if you chose not to show this add-on in the store, click Advanced Metadata Editing and then Confirm in the dialog window that opens) and then click Content Rating.
- Review the content on the page and choose Different from the base App.
- Provide the email address for a member of your organization who is responsible for choosing the IARC rating for your add-on. This email address will be shared with the IARC.
Keep the following in mind when changing the age rating for your add-on
- Only add-ons with a SKU can have an age rating.
- Currently add-ons with a higher age rating than the parent application must be paid add-ons.
Upload files associated with your add-ons
If your add-on requires additional files that are not provided in your main app package, such as DLC, you must upload these to the Meta Horizon Store. You do this with the
Platform CLI Utility.
When you upload files you use an app ID and add-on SKU to associate the file with a specific app and add-on. If the app grouping contains apps for different devices, make sure that you have an appropriate file type uploaded for each add-on. For example for an app that is available on Quest, Quest 2, and Rift, you must upload a file for Android and a file for Windows, and make sure you associate them with the Quest, Quest 2, and Rift app, respectively.
To upload DLC files:
- Download the Platform CLI Utility
- Open your browser and navigate to the Developer Dashboard.
- Select your app and then click Platform Services > Add-ons from the left-side navigation.
- Open up the dropdown menu for your add-on and select View DLC Files.
- Copy the example command to upload the file. The following image shows an example command prompt.

- Use the
upload-add-on
command with the following parameters:
app-id
: ID for the app. Make sure you specify the correct app if you have multiple apps in the groupingfile
: Path to the files for uploading. For Android apps, keep your files below the following limits:- APK: 1GB
- OBB: 4GB
- Asset: 2GB
sku
- SKU you specified when you created the Add-on
- Once the files are successfully uploaded, you will see them displayed on the add-Ons dashboard.
Specify a minimum build version
When you create a new add-on, it will automatically be associated with all new builds for that app. If you want to specify older or newer builds, or exclude certain add-ons, you can propagate the new add-on to the existing build versions so users on older builds can have access to it. In this case please make sure the legacy builds are compatible with new DLC files.
To support this use case, you can use the --min-version-code parameter of the upload-add-on command.
$ ./ovr-platform-util upload-add-on
--app-id <app-id>
--app-secret <app-secret>
--file <path-to-DLC-file>
--sku <Add-on-SKU>
--min-version-code 5
In the example above all the main builds with the version code 5 and above receive the new DLC files in the list of the asset files for those builds.
Add-ons and their associated files are automatically associated with a new app build when it is uploaded. If you want to ship a build without add-ons, for testing purposes, for example, use the --exclude-add-ons
switch with the upload command.
For example for Rift:
$ ./ovr-platform-util upload-rift-build
--app-id <app-id>
--app-secret <app-secret>
--apk <path-to-APK>
--channel <release-channel>
--exclude-add-ons
And for Quest and Quest 2:
$ ./ovr-platform-util upload-quest-build
--app-id <app-id>
--app-secret <app-secret>
--apk <path-to-APK>
--channel <release-channel>
--exclude-add-ons
You can use a template and bulk-upload IAPs. Note that this method requires a SKU for each currency you offer your item in. We recommend using these
add-on creation steps for IAPs because you create one SKU across currencies, and can easily associate DLC files with a SKU. For details about how to use the template for bulk-uploading, see defining items in bulk (
Unity,
Unreal,
Native).
Integrate add-ons into your app
For details on how to integrate add-ons into your app, see
In-App Purchase Integration (
Unity,
Unreal,
Native). For information on how to test your integration, see
Test IAP (
Unity,
Unreal,
Native).
You can view detailed analytics for your add-ons, filtered by date range. For more information, see
Add-on Content Analytics.