Unreal Engine 4 is available for Win10 UWP app dev now

The AppxManifest.xml should be generated as part of the build. The earlier errors you’re hitting are preventing this from happening. If we can get those fixed, the makepri error should go away.

From the looks of things you may have entered ‘Test’ as your ‘Company Distinguished Name’? If so, that’s part of your problem - that field should be in the X509 format, e.g. CN=Test. Also make sure that the subject name for your certificate matches this name. There are a coupleof posts earlier in the thread which might help. Though it’s worth noting that since those were written we’ve tried to improve default behavior, so if you’re just trying to run some tests the best option is frequently just to leave everything blank allowing the build process fill in defaults that ought to work.

I’d also suggest not creating a packaged build when you first start out. You’ll get faster iteration times (packing and signing are skipped) and you don’t have to worry about getting a certificate set up. Best way to do this is just to run through the Project Launcher (or Visual Studio if you prefer), rather than via Package Project.

Service Config and Title Id are part of wiring your title up for Xbox Live. When getting started with UWP and not using Live you should leave these blank. Once you’ve configured your title for Xbox Live on Windows Dev Center you’ll be able to input proper values (note Service Config ID is listed as SCID on Dev Center I believe). You’ll also need to add the OnlineSubsystemLive plugin to your project, and run the GetXboxLiveSDK script to install the SDK in the appropriate location. I should note that the current SDK integration is primarily intended for titles in the ID@Xbox program; as of right now it may require some customization to work with the Xbox Live Creators Program.

Once the Live plugin is enabled the interface is the same as other UE OnlineSubsystem implementations. So if your game works on other online services using UE’s standard interface you should have a great start on Live features.

Okay, on second thought, maybe the above won’t help you any:

17c31b5d24e15308b4f500b77fc8536778ad0365.jpeg
.
.
0fb0bd63c42e6b14e1271f1d066bc9afce8fcf92.jpeg

Ok thank you for the informations. I’ll test this tomorrow and give feedback whats happening :slight_smile:

If you’ve created your own certificate you need to make sure you trust it. If you’re your own system administrator this is easy enough. Details at the bottom of this page.

Note that if you have an app package (.appx) but have lost the original .cer you can extract a copy via the file properties on the appx. Go to the Digital Signatures tab, select the signature, hit Details, then View Certificate. From here you can either install the certificate directly (make sure to put it in the proper store, per the linked page) or else save it to a file and follow the linked instructions.

,

For some reason I cannot get the UWP build to work with DoN’s 3D Pathfinding Plugin (DoN's 3D Pathfinding for Flying AI in Code Plugins - UE Marketplace). It works fine with the Substance Plugin (Substance 3D for Unreal Engine in Code Plugins - UE Marketplace), but not so for the other (at least for me). The compiler is complaining about header files, an error I encountered before but can’t recall the specifics of it right now, and my quick stab at fixing it didn’t work.

Are you able to try building with the Pathfinding plugin?

On another note, reading your statement:

Adds a little excitement to my day. Where does the GetXboxLiveSDK get called at? Early on in the game startup? From the GameInstance possibly?

As for the complete build and upload to the Store, I’m trying to witness firsthand the end-to-end steps to get a game up on the store. Do you know how I would take the contents of my APPX folder shown above, and upload it to the Store?

That’s good to know how to extract and install the certificate from the APPX file :slight_smile:

I’m in Developer Mode. I installed the certificate, allowing Windows to find the best store. The install reports success but I still can’t install the application.

That’s your problem right there :). Windows (entirely reasonably) essentially defines ‘best’ as ‘safest’, so the trust level you’ve given it isn’t sufficient to install an application. You want to explicitly put it in the system (not user) Trusted People store. The linked instructions for using certUtil should do the right thing here.

I’m not familiar with the pathfinding plugin I’m afraid. Plugins in general can require work to be compatible with the UWP fork, since we’ve had to add new platforms for UBT that plugin build.cs files won’t be aware of and so probably won’t handle correctly.

The GetXboxLiveSDK script is something you run on your dev machine, from the Windows shell. It really just grabs and extracts the packages from NuGet, making sure they land in a location where the UE code can find them.

NuGet my friend :slight_smile:

I call it Nugget, like in gold-nugget, it sounds just about right for what it does.

Made the change to Trusted People with the certification. . .and the install worked flawlessly :slight_smile:

I’m rebuilding the source now, trying to isolate the plugin problem. . .but while I’m waiting, can you tell me how I go about packaging my released game for the Windows Store?

I can upload the APPX file, but the Store complains about the other files.

Most of the other files are actually already part of the appx - you shouldn’t need to provide them separately.

The exception are the pdbs. I believe the right way to submit these is to zip them up, give the resulting archive a .appxsym extension, then put that alongside the .appx and zip those together, giving the final archive a .appxupload extension. And then you submit just that one file. See here. But it’s been a while since I’ve been on the sharp end of an actual Store submission.

Adding a public record for the NuGet XboxLive (/packages/Microsoft.Xbox.Live.SDK.WinRT.UWP/):

Interesting, even though I installed the XBoxLiveSDK using NuGet within Visual Studio, and it completed successfully, the build failed with the GetXboxLiveSDK.bat. It was reporting that NuGet.exe wasn’t found. So, I downloaded the executable from (/) but now I’m getting an inconsistent command-line option:

Yes, we expect the Live packages inside the ThirdParty folder of the plugin itself, not the root packages folder; we’re trying to follow the UE pattern rather than the VS pattern. Hence the bat to take care of this (annoyingly NuGet commands aren’t part of a regular Powershell environment, so Nuget.exe is the best option I could come up with).

For the pch problem, I wouldn’t expect OnlineSubsystemLive to be compiled for Win64. It’s whitelisted for UWP (and Xbox One) only. Did you add an explicit reference from your game’s build.cs that might be forcing it to build?

Ouch, I didn’t realize that my build was set to Win64. It now builds using UWP64.

Are you able to post a code snippet to verify that I’m connecting to XboxLive?

What include files:



#include "../Plugins/Online/XboxOne/OnlineSubsystemLive/Source/Public/OnlineSubsystemLive.h"


Or other include files, and a couple of calls to test the connection. . .

Btw, do I need to include OnlineSubsystemLive to the Build.cs list of modules:


.
.

Ok after some struggeling I’m able to pack a UWP app.

However I’m not able to install and test it. I’m in Developer mode and can’t install the App-Installer from store (button is greyed out) and powershell is telling me that there is no trust cert or something like that.
So i tried to install the certificate (How to create an app package signing certificate - Win32 apps | Microsoft Learn)

But this didn’t change anything. Now I’m stuck here. What do I need to do next to test the app?

And what is also important to know is what I’m actually doing. I’m just building a local test app now or is this app valid to upload to the store right after testing? I’m, still missing the overview of the entire progress.

If you’re using the steps above to generate the certificate, which I believe is used for local testing, the package may not be uploaded to the Store as is. I’m not positive about that, but I believe our certificate is generated for testing purposes. The steps we’re taking however, may be similar for the real thing.

As for the package manifest we’ll need information from the Windows Dev Center (https://developer.microsoft.com/en-us/windows) portal, specifically from the App Identity screen:


.
.

Try installing the certificate using a right-mouse on the file to bring up the context-sensitive menu, then observe the two things that were important to get it to work correctly (for me anyway):

  1. Install the Certificate for the Local Machine
  2. Place all certificates in the following store: Trusted People

Once you have the certificate installed, you should be able to run the application.

To upload our games to the Windows Store, noted above how we create an .appxupload file, which may be necessary to upload the game content, which may or may not be part of the APPX file. The Flying Starter Kit shipping build resulted in a whopping 960 MB folder. Contained inside the folder is the UEUWPFlying.appx file, which is 363MB. Under that there is UEUWPFlying\Content folder, which also has another PAK file of 559MB. Even zipped that file is over 339MB, so it is possible that it is contained within the APPX file but not certain.

I’m curious if the Store will generate a Certificate for us, or do we generate it ourselves and upload it. There doesn’t seem to be a method for uploading a certificate. It appears that we’re filling the package manifest information from the Store into the UE4 Editor Project Settings Description screen, and the UWP Platform screen. And as long as that information matches we should be able to download our application on another machine and run it.

After installing a pending Windows Update which I was missing since my clean windows 10 reinstall I’m able to launch the app.
I don’t have much time this weekend to work on UWP, if there are no further informations in the next days’ I’ll just set up a demo/test app, request some promo/tester codes and give you one code and you could test and verify if it works or not.

Glad to hear your issue is resolved.

Yes, that is a good idea, me downloading your application :slight_smile:

I’ll be looking for it.

The appx contains the entire shipping game, including that content folder. Appx is the package distribution format for UWP apps. It’s essentially a zip plus some metadata. You can actually give it a zip extension, unpack it using the Windows shell, and go look to see what’s inside.

The Store will ultimately want an unsigned appx (included in that appxupload archive). The Store signature will be applied to your package once it has been through certification and is ready for release. You can’t, however, install a packed-but-unsigned app on any Windows 10 device. So when you want to test a packaged app before you submit to the store, that’s when you go through the process of creating and installing your own certificate for signing. In Developer Mode you can install a loose, unsigned app. This is what you are doing when you use F5 in Visual Studio, or when you use the Project Launcher in UE (without a custom profile that includes packaging). In this case your app is never put into an appx; instead, it is laid out on disk with the file structure that would be packed, and then a special, Developer Mode only registration step is run that allows it to run from this location (Powershell equivalent: Add-AppxPackage -register [path to appxmanifest.xml]). This is the workflow I recommend for day-to-day iteration since it avoids the packaging and signing steps, both of which take some time.

You shouldn’t worry about your final appx size too much. As someone pointed out above, we’ve shipped fairly enormous games like Gears and Forza. That said, there’s a new feature in the Windows 10 Creators Update to improve the user experience when downloading large packages: Streaming Install. It’s not part of our UE integration though, so would require additional engine customization work to add.

To get started with Xbox Live, you’ll need to be part of either the Creators Program or ID@Xbox. Creators Program is currently in preview and requires that you apply, but will become fully self-service. It’s a great way to start. Once you’re in you can get your Title ID and Service Configuration ID (SCID) from Dev Center, which you should then add to your UE project settings for UWP. The integration uses these to automatically generate the xboxservices.config file described towards the end of this page. Note, however, that we’re not currently adding this line:



"XboxLiveCreatorsTitle":"true"


You’ll need to manually add that, or else change the generation logic inside UnrealBuildTool (UWPDeploy.cs). I intend to make a change at some point so this can be toggled through project settings - or someone is welcome to PR me one!

Once your app is associated with Live, you can sign a user in via



IOnlineExternalUI::ShowLoginUI


Note that this might skip UI completely if the system is able to sign the user in without interaction.

Phew! Hope that all helps!

Yes, , that does help :slight_smile: And the XboxLive repository is a nice reference. . .both the CreatorsSDK, and XboxSDK.

If I can assist in development in any way, I certainly will.