Building a App/Game for specific Windows Phone 8 device – To support >1GB or 512mb memory

This week I was having a discussion with Jon Wetherall  from Jon is one of our Greenshoot teams and wanted to ask how they could target specific windows phone devices for their next title.

So in respect of Windows Phone the two options of devices are

· >1GB or higher RAM based devices

· 512MB RAM (Low memory Windows Phone 8 devices)

Building Specific optimized version for 1Gb & 512mb

You actually have the ability within the Windows Store to build a app specifically tailored for each version Windows Phone and have them displayed in the Windows Phone Store under same app name.

To achieve this you need to follow the guidance below

1. Each Store release will need the same Product ID.

a. To get the product id login to Windows Phone store

b. Click on Dashboard

c. Select the app and then click on details tab

d. Scroll down to get App ID, copy this App ID

e. Replace your product id in WMAppmanifest.xml simply open up your project solution in Visual Studio edit the WMAppManidest.xml and under the file under Packaging Tab replace the Product ID with the copied on from the dashboard.

Once you have both the builds, add these two XAPs you need to submit each to the store for certification and publishing.

The store certification team will test both the XAPs and app will be available on store.

The advantage with this approach is that you can target both low end and 1GB RAM based devices with appropriate quality of graphics content. While the disadvantage is that you will have to maintain two builds.

In this case your app customers will get the appropriate quality of graphics content based on their devices.

Optimising your app/game for support on 512mb devices

To get the maximum performance out of the 512MB RAM based device you can increase the peek memory usage cap from 150MB to 180MB by adding Functional Capability to the WMAppMainfest.xml file

Add the following tag by editing WMAppManifest.xml in Visual Studio


This increases the usage cap from 15mb to 180mb.


   1: <FunctionalCapabilities>
   3: <FunctionalCapability Name="ID_FUNCCAP_EXTEND_MEM"/>
   5: </FunctionalCapabilities>

You can refer to How to modify the app manifest file for Windows Phone 8 for further information.

Supporting only 1GB devices

If your game is pretty intensive on memory you can choose to simply target  >1G devices (remember this will limit your downloads as your targeting a specific set of devices which are generally premium in terms of costs to consumers)

2. To build app targeting only 1GB RAM based device, you will need to opt out low memory device

This can be achieved by forcing memory cap requirements in WMAppManifest.xml

Add the following tag by editing WMAppManifest.xml in Visual Studio


This completely opts out of availability for lower-memory phones.

The app won’t appear in the Windows Phone Store for lower-memory phones and it can’t be installed on lower-memory phones.


   1: <App>
   5:   <Requirements>
   7: <Requirement Name="ID_REQ_MEMORY_300" />
   9:   </Requirements>
  11: </App>

You can refer to How to modify the app manifest file for Windows Phone 8 for further information.

You can now publish the complied  .XAP file to the Windows Phone Store. When users visit the store and search for your game or app it will not be visible to consumers with low memory 512MB RAM based devices.

Some Useful Links

App capabilities and hardware requirements for Windows Phone 8

App memory limits for Windows Phone 8

Developing apps for lower-memory phones for Windows Phone 8

Comments (3)

  1. Lee Stott says:

    If your building a game for Windows Phone 8.1

    This has changed for WP8.1 XAML apps.

    With Windows Phone 8.1 XAML apps there is no longer a WMAppManifest.xml file to modify.

    Therefore you need to make the following changes to the Package App manifest file in your solution.




    The following code above needs to be added to the Package.appxmanifest file if your app/game is targeting a Windows Phone  8.1 device.

  2. Lee Stott says:

    Further resources and guidance for Windows Phone 8.1

    Can be found at App memory limits for Windows Phone…/jj681682(v=vs.105).aspx

  3. Lee Stott says:

    There is a known issue in Visual Studio 2013 update 2 so please update your visual studio

    If you add the line to the AppX manifest, the build system gives may give an error APPX3002: App manifest validation failed. File contains unrecognized XML element '/Package/Prerequisites/{

    This appears to be a problem with the Visual Studio build time validation.

    To work around this you can disable build-time manifest validation by adding:

    <AppxValidateAppxManifest>false</AppxValidateAppxManifest> , to the first PropertyGroup in your project file.  (right-click on project and select Unload project, then right click again and choose Edit …project.)

    The manifest file will still be validated at package creation time but that code appears to work correctly for this case.

Skip to main content