Important |
---|
The Unity Distribution Portal (UDP) is shutting down on February 17th, 2025. Access to the UDP Web console and services will be permanently deactivated on this date. To download your keystores and instructions on how to republish your games directly to app stores, visit the UDP overview page. If you have any questions about your account, submit a ticket with Unity Customer Support. |
Once you’ve built your game in the Unity Editor, the UDP console needs to repack it with each store’s SDK before you can publish your game to the supported stores.
To upload your build to the UDP Console, follow these steps.
Note: The UDP console only accepts APKsThe Android Package format output by Unity. An APK is automatically deployed to your device when you select File > Build & Run. More info
See in Glossary or AABs that have a UDP implementation.
You can also deploy your game to the UDP console in the following ways:
You can only use the UDP API to upload binary files for the draft version of your game. If there is no draft version of your game, UDP creates one based on the latest version of your game. If the upload process is successful, UDP returns the “upload success” message with status code 200. If the upload process is unsuccessful, UDP returns an error message with a non–2xx status code.
You can upload either:
You can only upload one binary file at a time; you can’t specify multiple binary files for a command. If you upload the same type of binary file multiple times, the most recent file overrides the previous one.
To use the UDP API, you need:
To upload binary files to the UDP console using the UDP API, use the HTTP POST method, and set the Content-Type
to multipart/form-data
. For information on the supported API parameters, see UDP API.
To upload an APK file, specify the path to your APK file in the POST method with the form key uploadFile
.
Example:
$ curl -XPOST -F 'whatsNew="example"' -F 'useGoogleService=false' -F 'uploadFile=@/path/to/your/APK/example.apk'
https://distribute.dashboard.unity.com/developer/api/upload/12369536319506/1d1a4cxq774MzPKwsiHgXA?token=NWQxMWIzZmYyNjk0Njc2NGYwMDU0ZTA3ZTk3YjA2ZDA=
To upload an AAB file, specify the path to your AAB file with the form key uploadFile
.
Example:
$ curl -XPOST -F 'whatsNew="example"' -F 'useGoogleService=true -F 'uploadFile=@/path/to/your/AAB/example.aab'
https://distribute.dashboard.unity.com/developer/api/upload/12369536319506/1d1a4cxq774MzPKwsiHgXA?token=NWQxMWIzZmYyNjk0Njc2NGYwMDU0ZTA3ZTk3YjA2ZDA=
To upload an OBB file:
uploadFile
.obbType
to mainObb
or patchObb
.Example main OBB file upload:
$ curl -XPOST -F 'uploadFile=@/path/to/your/OBB/exampleMain.obb'
https://distribute.dashboard.unity.com/developer/api/upload/12369536319506/1d1a4cxq774MzPKwsiHgXA?token=NWQxMWIzZmYyNjk0Njc2NGYwMDU0ZTA3ZTk3YjA2ZDA=&obbType=mainObb
Example patch OBB file upload:
$ curl -XPOST -F 'uploadFile=@/path/to/your/OBB/examplePatch.obb'
https://distribute.dashboard.unity.com/developer/api/upload/12369536319506/1d1a4cxq774MzPKwsiHgXA?token=NWQxMWIzZmYyNjk0Njc2NGYwMDU0ZTA3ZTk3YjA2ZDA=&obbType=patchObb
Before you can publish your game to a store on the UDP console, follow these steps:
You can then proceed to publish your game.
To be able to publish your game to stores, you need to release it. When you have saved your revision draft and are ready to publish it:
Revisions are released versions of your game. This lets you store a record of changes to your app store submissions throughout time.
A revision’s key components are:
If you change one of these elements, your store submission changes, and you must create a new revision. The revision system is incremental (+1 each time) and is managed by UDP. You cannot create custom revision numbers. Use revision notes and labels when you release a new revision to help you keep track of revisions.
Note: If a draft revision has been saved on the UDP console but not released, you can’t push changes from the Editor that would increment the revision number.
To overwrite an existing revision draft.
Use the Publish panel to publish your game to stores. You can only publish released revisions to stores.
Follow these steps for each of the stores you want to submit your game to:
For help publishing to specific stores, see Documentation > Partner Store Guides in the UDP console.
When you’ve published your game, you can monitor its performance in the Reporting Dashboard.
To be able to publish your game to stores, you need to have an account with them.
To create an account with a store:
Once you’ve signed up with the store, you can register your game with it.
Note: Only the Organization Owner and Manager can sign up with a store. See Organization-related permissions for more details.
Store accounts are per Unity Organization. Any games you publish via UDP are attached to the Organization from which you published. If you access the UDP console under a different Organization, you need to sign up again and create a different account. For more information on how to sign up to individual stores, see Documentation > Partner Store Guides in the UDP console.
When you have signed up to a store, you can register your game with the store.
When your game is registered with the store, you can no longer change the package name for that store.
If you use UDP to generate the App signing private key, UDP generates a store-specific key to sign the repacked build. This may also affect third-party services integrated in your game. The store-specific certificate is available in the Advanced section when your game has been repacked.
Signing your repacked build in this way makes your game more vulnerable to Google Play Protect warnings.
In the Publish tab, select the target step for the given store.
UDP creates a separate build for each store that you publish to, containing only the store-specific SDK that’s required. Each store-specific build is signed with a UDP certificate that is specific to your game and to each store. You can find and retrieve the certificate from the Advanced section of each store.
Additionally, UDP adds a store-specific suffix to the package name, if applicable. If this is required, the UDP console will display this information during the Register step.
Note: If required, in the Publish page, you can configure:
You can only submit the latest released revision to a store. If you intend to submit different revisions to different stores, Unity recommends you use the release labels and notes to identify your revisions.
Example: You want to submit one revision for StoreA and another revision for StoresBCD.
If you’ve previously submitted your game to a store, you can repack the game without uploading a new IAP catalog. This uses the most recently submitted IAP catalog.
Before you submit your repacked build to stores, download the APK from the Status tab and test it to ensure your in-app purchases work as expected in the store’s commercial environment.
Note: Changes you’ve made in the Advanced settings for a store are not overridden if you submit a new version of your game.
To publish your game to the UDP stores, you need to create a company information profile. Stores display this information in the “About the developer” section of your game’s listing on their app store. You only need to do this once.
Once you have completed all the above steps, publish your game.
Only the latest released revision of your game is taken through the target steps selected for each store.
If there are any problems with your submission, these are displayed in the Detail section.
For stores that are only partially integrated with UDP, you must complete the submission on the store’s own developer console. To do this, select Go to Store next to the submitted revision. A tooltip explains which steps are still required. Follow the links and complete your submission on the store’s console.
When you no longer need a game on the UDP console, you can archive it.
To archive your game:
When you have archived a game, you can then restore it or delete it from the UDP console.
To delete games you no longer need on the UDP console:
Note: This permanently removes the game from the My Games tab of the UDP console, and all of the game’s data from the Reporting Dashboard.
To restore archived games:
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.
When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.
More information
These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising. Some 3rd party video providers do not allow video views without targeting cookies. If you are experiencing difficulty viewing a video, you will need to set your cookie preferences for targeting to yes if you wish to view videos from these providers. Unity does not control this.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.