Exporting for Universal Windows Platform

There’s no extra requirement to export an .appx package that can be installed as a Windows App or submited to the Windows Store. Exporting packages also works from any platform, not only on Windows.

However, if you want to install and run the app, you need to sign it with a trusted signature. Currently, Godot supports no signing of packages and you need to use externals to tools to do so.

Also, make sure the Publisher name you set when export the package matches the name on the certificate.

Limitations on Xbox One

As described in UWP documentation:

  • available RAM is 1GB (after exceeding it, application will encounter memory allocation failures and will crash)
  • share of 2-4 CPU cores
  • share of 45% of GPU power

Creating a signing certificate

This requires the tools MakeCert.exe and Pvk2Pfx.exe which comes with the Windows SDK. If you use Visual Studio, open one of its Developer Prompts since they come with those tools available and in the path.

You can get more detailed instructions from Microsoft documentation.

First, run MakeCert to create a private key:

MakeCert /n publisherName /r /h 0 /eku "," /e expirationDate /sv MyKey.pvk MyKey.cer

Where publisherName matches the Publisher Name of your package and expirationDate is in the mm/dd/yyyy format.

Next, create a Personal Information Exchange (.pfx) file using Pvk2Pfx.exe:

Pvk2Pfx /pvk MyKey.pvk /pi pvkPassword /spc MyKey.cer /pfx MyKey.pfx [/po pfxPassword]

If you don’t specify a password with /po argument, the PFX will have the same password as the private key.

You also need to trust this certificate to be able to actually install the apps. Open the Command Prompt as Administrator and run the following command:

Certutil -addStore TrustedPeople MyKey.cer

Signing the package

Using the SignTool.exe this requires a single command:

SignTool sign /fd SHA256 /a /f MyKey.pfx /p pfxPassword package.appx

Installing the package

After Windows 10 Anniversary Update you can install packages by just double clicking the .appx file from the Windows Explorer.

It’s also possible to install using the Add-AppxPackage PowerShell cmdlet.

Note that if you don’t update the version number, you’ll have to uninstall the previous installed package before reinstalling it.