Publishing to the Windows Store
You've been working hard on creating a polished, fully-functional video game in Unity, and now you're finally ready to publish it to the app stores! When you want to export your game to the Windows Store, here is a walk-through for how to do it.
- In order to build apps for Windows Phone 8.1 and Windows Store 8.1, an installation of Visual Studio 2013 with Windows Phone 8.1 support is required. There is a free download for Visual Studio Community Edition that will do the trick.
- While Unity does come with MonoDevelop as a script editor, there are MANY advantages to having Visual Studio if you don't already, such as better bug reporting and tracking, a sophisticated emulator tool that provides perfect screenshots, and better autocomplete tools.
- It should go without saying that Windows 8.1 is a requirement for this task as well.
- You will also need a Windows Dev Center developer account. You can either purchase this for $19.00 per year, or use a token given to you by a Microsoft employee (like me!) for free access.
Open Unity to your finished product. Your game must be ready for the public eye, and able to run without breaking.
- If you get a build error when running your game that mentions ARM, x86, or x64, here is how to fix it:
- Open the Unity Project solution in Visual Studio.
- Right click Solution 'Unity Project' in the Solution Explorer. Click Properties, then Configuration Properties.
- Change ARM to x86 using the drop-down menu in both places.
Once you're ready, in Unity, click "File," then "Build Settings" (Ctrl+Shift+B).
Windows Phone 8.1 brings many changes to Unity. Due to the convergence effort, Windows Phone 8.1 is considered to be a part of Windows Store Apps family, rather than being an extension to Windows Phone 8. As such, it behaves much more like Windows Store Apps behave on Unity.
To build a Windows 8.1 application, select “Universal 8.1” SDK under Windows Store platform.
Then click "Build." This should create a Unity Project Solution. Give it a name and save it to the folder where you keep your Build Exports.
Open your web browser and navigate to https://dev.windows.com/en-us. Click "Sign in" in the upper right-hand corner. Sign in with your Microsoft account. (Previously known as "Windows Live ID," this is anything that ends in Hotmail, Live, Outlook, or signs you in to Skype, Xbox LIVE, OneDrive, or Windows Phone.) After you're signed in, click "Dashboard," underneath "Sign in" in the upper right corner.
If the next page you see says "Registration - Account info," this means you need to create a Windows developer account before you can publish your game to the Windows Store. Your developer account lets you publish apps to both the Windows Store and the Windows Phone Store, but the dashboards and processes you use to submit and manage apps are separate until your account is moved into the new unified dashboard. If you need help getting started with this, visit https://dev.windows.com/en-us/join or reach out to your friendly neighborhood Technical Evangelist (that's me!) to ask for a token or help getting signed up.
Next, you will come to a page that says "Choose your dashboard." Once you’ve made your selection, you can always switch to the other one by using the links within each dashboard.
For now, let's choose the Windows Store. Accept the Terms and Conditions to continue to the dashboard.
On this new page, underneath "My Apps" and "Dashboard," click on "Submit an app". Now it's time to follow the prompts!
- App name
- Reserve a unique name for your game app in the Store.
- Selling details
- Pick your app's price tier, or make it free.
- Choose a free trial period, or not.
- Choose in-app purchase options, or not.
- Select countries where you want your app to be available.
- Interesting note: There is strong user engagement on the Windows Marketplace in many languages, not just English -- so consider localizing to increase your reach. English, Spanish, Mandarin, and French are the top languages in the Windows marketplace. A whopping 75% of Windows Phone app downloads are for a language other than English!
- Choose your desired Release Date. (I usually choose to release my app as soon as it passes certification.)
- Choose a category and subcategories for your app (e.g. Games, Entertainment)
- Hardware requirements (Does it require a touch screen? Does it support ARM? Is it handicap accessible?)
- Typical hardware requirements:
Minimum DirectX feature level: Available to all systemsMinimum system RAM: Available to all systems
- Age rating and rating certificates
- To create your App Packages, go in to Visual Studio and right-click your Unity Project for Windows (not shared, not phone).
- Click "Store" > "Create App Packages" > "Sign in to the Windows Store" using your Microsoft account.
- There are three build configurations you can choose from.
- Debug should only be used to debug your scripts.
- Release optimizes the code for better performance.
- Master configuration build should be used to submit your app to the Store. It as profiler support stripped out.
- You may also find the Create App Packages Wizard helpful.
- If you're reading this blog, you'll probably set your description to English (United States). I recommend this great Gamasutra article on how to write a great app description -- it covers everything from search optimization to cross promotion to localization!
- App Logo - You don't want your game's app logo to show up as the default Unity icon. To change this, use the Player Settings. To see the Player Settings, choose Edit > Project Settings > Player from the menu bar. In the Default Icon option, you can choose an image already imported into Unity, or make it an image editing program like Photoshop or Paint.
- Screenshots and Promotional Images - Publishing your game to the store means it's going to need a lot of different promotional images that all need to be exactly the right dimensions, like 846×468, 558×756, 414×468, 414×180, and 558×558 pixels. This image-resizing process can be sped up with the use of Adam Tuliper's Windows Store Image Processor. I highly recommend downloading it.
As for screenshots, Visual Studio's emulator has an automated screen-capturing feature that will save screenshots of your app to a designated folder at exactly the correct dimensions for use in the store! Check out all the details on how to use that feature here. Don't forget to change the build from Debug to Master when getting screenshots, or else you'll have the word "Debug" written on all your screenshots.
- Notes to testers (Example):
- Click Start or press spacebar to begin. Click the mouse, press spacebar, or touch the screen to jump. Touch controls can sometimes be unresponsive, so try tapping multiple times. There is no way to quit other than to close the app manually.
Submit for certification!
- Usually done within 1 hour.
- Security tests
- Usually done within 3 hours.
- Technical compliance
- Usually done within 6 hours.
- Content compliance
- Usually takes about 5 days.
- Waiting until the app passes certification.
- Signing and publishing
- Usually done within 4 hours.
Now, bask in the glory of having your game officially submitted to the app store! And then, slowly realize how many more things you want to do now that your first version is released...
...Submit it to the Phone Store...
...Publish it on the Internet...
...Use cloud-incorporation for leaderboards, persistent high score tables, and social media sharing...