Users configuring a Universal Windows Platform (UWP) build target in Unity Build Automation (UBA) may see references to obtaining a "Microsoft Developer License" via Visual Studio, but the linked documentation is deprecated. This terminology is outdated because the separate developer license requirement was removed starting with Windows 10. However, a code-signing .pfx certificate is still required. You can resolve the issue by generating a self-signed .pfx certificate locally using PowerShell and using it in the UWP build target configuration.
Symptoms:
- I see a reference to get a “developer license” in Unity DevOps credentials, but the documentation is deprecated.
- I am unsure how to obtain a developer license for UWP builds.
- I am trying to upload a .pfx certificate in Build Automation, but the password field is required even though my certificate has no password.
- I created a certificate through Unity, but it does not work with Unity Build Automation credentials.
Cause:
This confusion is caused by outdated terminology and changes in Microsoft’s platform requirements:
- The Microsoft Developer License requirement was deprecated starting with Windows 10, but references to it may still appear in Unity interfaces or older documentation.
- Unity Build Automation (UBA) still requires a .pfx certificate to sign UWP (Universal Windows Platform) applications, regardless of the deprecated license.
- Some Unity-generated certificates may not include a password, while UBA requires a password-protected .pfx file, leading to validation issues during upload.
Resolution:
To successfully configure UWP builds in Unity Build Automation, you must generate and use a password-protected .pfx certificate.
If you do not already have one from the Microsoft Store, follow these steps to create a self-signed certificate:
Step 1: Open PowerShell as Administrator
- Open the Start menu in Windows
- Search for PowerShell
- Right-click Windows PowerShell and select Run as administrator
Step 2: Generate a Self-Signed Certificate
Run the following command:
$cert = New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=MyTestCertificate" -CertStoreLocation "Cert:\CurrentUser\My"
The command above:
- Creates a code-signing certificate
- Names it
MyTestCertificate - Stores it in your Current User certificate store
Step 3: Export the Certificate as a .pfx File with a Password
Run the following commands:
$pwd = ConvertTo-SecureString -String "MyPassword123" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath C:\Users\Public\MyTestCertificate.pfx -Password $pwd
This step:
- Creates a secure password for the certificate
- Exports the certificate as a .pfx file
- Saves it to
C:\Users\Public\MyTestCertificate.pfx
Important:
- Replace
"MyPassword123"with a secure password of your choice- Update the file path if needed
Step 4: Upload to Unity Build Automation
- Navigate to Build Automation > Settings > Credentials
- Upload the generated
.pfxfile - Enter the password you created during export