Announcement

Collapse
No announcement yet.

Unreal Engine 4 is available for Win10 UWP app dev now

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    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:
    Code:
    "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
    Code:
    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!

    Leave a comment:


  • replied
    Glad to hear your issue is resolved.

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

    I'll be looking for it.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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:

    Click image for larger version

Name:	50.App.Identity.jpg
Views:	1
Size:	164.5 KB
ID:	1127995
    .
    .

    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, James 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.
    Last edited by Jerry.Richards; 05-12-2017, 08:49 AM.

    Leave a comment:


  • replied
    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 (https://msdn.microsoft.com/en-us/lib...v=vs.85).aspx)

    Certutil -addStore TrustedPeople C:\Users\Daniel\Desktop\UEUWPShooter.cer
    pause
    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.

    Leave a comment:


  • replied
    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:
    Code:
    #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:

    Click image for larger version

Name:	36.Modules.jpg
Views:	1
Size:	63.0 KB
ID:	1127973
    .
    .
    Click image for larger version

Name:	37.DefaultOnline.jpg
Views:	1
Size:	38.4 KB
ID:	1127974
    Last edited by Jerry.Richards; 05-11-2017, 09:28 PM.

    Leave a comment:


  • replied
    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?

    Leave a comment:


  • replied
    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 (https://www.nuget.org/) but now I'm getting an inconsistent command-line option:

    Click image for larger version

Name:	33.Inconsistent.CommandLine.jpg
Views:	1
Size:	81.7 KB
ID:	1127972

    Leave a comment:


  • replied
    Adding a public record for the NuGet XboxLive (https://www.nuget.org/packages/Micro...K.WinRT.UWP/):


    Click image for larger version

Name:	30.XBoxLiveSDK.jpg
Views:	1
Size:	320.2 KB
ID:	1127970

    Leave a comment:


  • replied
    Originally posted by Jerry.Richards View Post
    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.

    Leave a comment:


  • replied
    NuGet my friend

    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

    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.

    Leave a comment:


  • replied
    Originally posted by Jerry.Richards View Post
    ...allowing Windows to find the best store...
    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.

    Leave a comment:


  • replied
    That's good to know how to extract and install the certificate from the APPX file

    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.
    Last edited by Jerry.Richards; 05-11-2017, 04:00 PM.

    Leave a comment:


  • replied
    James,

    For some reason I cannot get the UWP build to work with DoN's 3D Pathfinding Plugin (https://www.unrealengine.com/marketp...ding-flying-ai). It works fine with the Substance Plugin (https://www.unrealengine.com/marketp...bstance-plugin), 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:

    add the OnlineSubsystemLive plugin to your project, and run the GetXboxLiveSDK script to install the SDK in the appropriate location
    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?
    Last edited by Jerry.Richards; 05-11-2017, 03:50 PM.

    Leave a comment:

Working...
X