[!IMPORTANT] If you’re submitting an Unreal application, make sure you follow the publishing instructions before continuing.
Both HoloLens and the Windows 10 PC powering your immersive headset run Universal Windows Platform apps. Whether you’re submitting an app that supports HoloLens, PC, or both, app submission goes through the Partner Center.
If you don’t already have a Partner Center developer account, sign up for one before moving on. You can find more information about submission guidelines and checklists in this app submissions article.
[!IMPORTANT] You won’t be able to submit any applications to the Microsoft Store if your Partner Center developer account fails the employment verification check. Please contact the Partner Center support team for more details.
There are several steps to packaging a Mixed Reality application, including:
Each of these submission stages is covered in its own section below - we recommend going through them sequentially you don’t leave any out on your first submission attempt.
The following image assets are required for the appx building tools to build your application into an appx package, which is required for submission to the Microsoft Store. You can learn more about guidelines for tile and icon assets on MSDN.
Required Asset | Recommended Scale | Image Format | Where is the asset displayed? |
---|---|---|---|
Square 71x71 Logo | Any | PNG | N/A |
Square 150x150 Logo | 150x150 (100% scale) or 225x225 (150% scale) | PNG | Start pins and All Apps (if 310x310 isn’t provided), Store Search Suggestions, Store Listing Page, Store Browse, Store Search |
Wide 310x150 Logo | Any | PNG | N/A |
Store Logo | 75x75 (150% scale) | PNG | Partner Center, Report App, Write a Review, My Library |
Splash Screen | 930x450 (150% scale) | PNG | 2D app launcher (slate) |
If you’re developing for HoloLens, there are other recommended assets that you can take advantage of:
Recommended Assets | Recommended Scale | Where is the asset displayed? |
---|---|---|
Square 310x310 Logo | 310x310 (150% scale) | Start pins and All Apps |
The Start menu on HoloLens will use the largest included square tile image by default. Apps published by Microsoft have an optional 3D launcher, which you can add to your app by following the 3D app launcher implementation instructions.
If your Mixed Reality app includes features that are specific to a Windows version, it’s important to specify the supported target and minimum platform versions.
Pay special attention for apps targeting Windows Mixed Reality immersive headsets, which require at least the Windows 10 Fall Creators Update (10.0; Build 16299) to function properly.
You’ll be prompted to set the target and minimum version of Windows when you create a new Universal Windows Project in Visual Studio. For existing projects, you can change this setting in the Project menu by selecting the <Your app name’s> Properties at the bottom of the drop-down menu.
Setting minimum and target platform versions in Visual Studio
Windows Mixed Reality applications (for both HoloLens and immersive headsets) are part of the Universal Windows Platform, so any app package with a Windows.Universal target device family can run on HoloLens or Windows 10 PCs with immersive headsets. If you don’t specify a target device family in your app manifest, you may inadvertently open your app up to unintended Windows 10 devices. Follow the steps below to specify the intended Windows 10 device family, then double-check you’ve set the correct device families when you upload your app package in Partner Center for Microsoft Store submission.
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
</Dependencies>
<Dependencies>
<TargetDeviceFamily Name="Windows.Holographic" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
</Dependencies>
<Dependencies>
<TargetDeviceFamily Name="Windows.Holographic" MinVersion="10.0.18362.0" MaxVersionTested="10.0.18362.0" />
</Dependencies>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested="10.0.16299.0" />
</Dependencies>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested="10.0.16299.0" />
<TargetDeviceFamily Name="Windows.Holographic" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
</Dependencies>
You can learn more about targeting device families by reading the TargetDeviceFamily UWP documentation.
When you associate your app with the Microsoft Store, the following values are downloaded to the current projects local app manifest file:
If you’re overriding the default package.appxmanifest file with your own custom .xml file, you can’t associate your app with the Microsoft Store. Associating a custom manifest file with the Store will result in an error message.
You can also test purchase and notification scenarios by going to your Visual Studio solution and selecting Project > Store > Associate App with the Store.
Follow guidelines at Packaging Universal Windows apps for Windows 10.
The final step of creating an upload package is validating the package using the Windows App Certification Kit.
If you’re adding a HoloLens-specific package to an existing product that’s available on other Windows 10 device families, pay attention to:
The general guidance is that the package with the highest version number for a device is the one distributed by the Store.
In a scenario where there’s a Windows.Universal package and a Windows.Holographic package, and the Windows.Universal package has a higher version number, a HoloLens user will download the higher version number Windows.Universal package instead of the Windows.Holographic package.
In cases where the above scenario isn’t the outcome you’re looking for, there are several available solutions:
[!NOTE] To support your app on both HoloLens (1st Gen) and HoloLen 2, you need to upload two app packages; one containing x86 for HoloLens (1st Gen) and one containing ARM or ARM64 for HoloLens 2.
If you include both ARM and ARM64 in your package, the ARM64 version will be the one used on HoloLens 2.
[!NOTE] You can declare a single package to be applicable to multiple target device families
When you create app packages to submit to Partner Center through Visual Studio, the Create App Packages wizard prompts you to run the Windows App Certification Kit against the packages that get created. To have a smooth submission process to the Store, it’s best to verify that the local copy of your app passes the Windows App Certification Kit tests before submitting them to the Store. Running the Windows App Certification Kit on a remote HoloLens isn’t currently supported.
The Windows Universal Platform allows you to create a single application that runs across all of the Windows 10 device families. However, it doesn’t guarantee that Universal Windows apps will just work on all device families. It’s important to test your app on each of your chosen device families to ensure a good experience.
In general, submitting a Windows Mixed Reality app that works on HoloLens or immersive headsets is just like submitting any UWP app to the Microsoft Store. Once you’ve created your app by reserving its name, follow the UWP submission checklist.
One of the first things you’ll do is select a category and subcategory for your Mixed Reality experience. It’s important that you choose the most accurate category for your app. Categories help merchandise your application in the right Store categories and ensure it shows up using relevant search queries. Listing your VR title as a game won’t result in better exposure for your app, and may prevent it from showing up in categories that are more fitting and less crowded.
However, there are four key areas in the submission process where you’ll want to make Mixed Reality-specific selections:
On the Properties page of the app submission process, you’ll find several options related to Mixed Reality in the Product declarations section.
Mixed Reality product declarations
First, you need to identify the device types for which your app offers a Mixed Reality experience. Identifying device types ensures that your app is included in Windows Mixed Reality collections in the Store.
Next to “This experience is designed for Windows Mixed Reality on:”
If you selected “PC” above, you’ll want to set the “Mixed Reality setup” (activity level). This only applies to Mixed Reality experiences that run on PCs connected to immersive headsets, as Mixed Reality apps on HoloLens are world-scale and the user doesn’t define a boundary during setup.
On the Properties page of the app submission process, you’ll find several options related to Mixed Reality in the System requirements section.
System requirements
In this section, you’ll identify minimum (required) hardware and recommended (optional) hardware for your Mixed Reality app.
Input hardware:
Use the checkboxes to tell potential customers if your app supports microphone for voice input), Xbox controller or gamepad, or Windows Mixed Reality motion controllers. This information will be surfaced on your app’s product detail page in the Store and will help your app get included in the appropriate app/game collections. For example, a collection may exist for all games that support motion controllers.
Be thoughtful about selecting checkboxes for “minimum hardware” or “recommended hardware” for input types.
For example:
Windows Mixed Reality immersive headset:
Indicating whether an immersive headset is required to use your app, or is optional, is critical to customer satisfaction and education.
If your app can only be used through an immersive headset, select the “minimum hardware” checkbox next to “Windows Mixed Reality immersive headset.” This will be surfaced on your app’s product detail page in Store as a warning above the purchase button so customers don’t think they’re purchasing an app that will function on their PC like a traditional desktop app.
If your app runs on the desktop like a traditional PC app, but offers a VR experience when an immersive headset is connected (whether the full content of your app is available, or only a portion), select the “recommended hardware” checkbox next to “Windows Mixed Reality immersive headset.” No warning will be surfaced above the purchase button on your app’s product detail page if your app functions as a traditional desktop app without an immersive headset connected.
PC specifications:
If you want your app to reach as many Windows Mixed Reality immersive headset users as possible, target the PC specifications for Windows Mixed Reality PCs with integrated graphics.
Whether your Mixed Reality app targets the minimum Windows Mixed Reality PC requirements, or needs a specific PC configuration like the dedicated GPU of a Windows Mixed Reality Ultra PC, you should add the relevant PC specifications in the “minimum hardware” column.
If your Mixed Reality app is designed for better performance or offers higher-resolution graphics on a particular PC configuration or graphics card, you should include the relevant PC specifications in the “recommended hardware” column.
This only applies if your Mixed Reality app uses an immersive headset connected to a PC. If your Mixed Reality app only runs on HoloLens, you won’t need to indicate PC specifications as HoloLens has only one hardware configuration.
If you’ve packaged your app correctly in Visual Studio, uploading it on the Packages page should produce a table with the available device families.
Device family availability table
If your Mixed Reality app works on immersive headsets, then at least “Windows 10 Desktop” should be selected in the table. If your Mixed Reality app works on HoloLens, then at least “Windows 10 Holographic” should be selected. If your app runs on both Windows Mixed Reality headset types, both “Windows 10 Desktop” and “Windows 10 Holographic” should be selected.
[!TIP] Many developers run into errors when uploading their app’s package related to mismatches between the package manifest and your app/publisher account information in Partner Center. These errors can often be avoided by signing into Visual Studio with the same account associated with your Windows developer account (the one you use to sign into Partner Center). If you use the same account, you’ll be able to associate your app with its identity in the Microsoft Store before you package it.
Associate your app with the Microsoft Store in Visual Studio
On the Store listing page of the app submission process, there are several places you can add useful information about your Mixed Reality app.
[!IMPORTANT] To ensure your app is correctly categorized by the Store and made discoverable to Windows Mixed Reality customers, you should add “Windows Mixed Reality” as one of your “Search terms” for the app (you can find search terms by expanding the “Shared fields” section).
Add “Windows Mixed Reality” to search terms
In many cases, your consumers will have limited to no experience with virtual reality before they buy a Windows Mixed Reality immersive headset. They may not know what to expect from intense games or be familiar with their own comfort threshold in immersive experiences. Many customers may also try a Windows Mixed Reality immersive headset on PCs that aren’t badged as Windows Mixed Reality PCs. Because of these considerations, we strongly recommend you consider offering a free trial for your paid Mixed Reality app or game.