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
    Originally posted by manoelneto View Post
    Are you sure it's connecting? AFAIK UWP apps cannot access localhost by default, you need to setup an exception for specific apps: https://msdn.microsoft.com/en-us/lib.../dn640582.aspx
    Visual Studio automatically applies the exception when running under the debugger. There's a similar step in the AutomationTool implementation for UWP - see the end of UWPPlatform.Deploy.

    Originally posted by Zelex View Post
    I made a whole new blank project, set it up, works 100% when launching from the editor, I run the cook server, Press F5 from the debugger, game connects to the cook server and streams some stuff, then a totally black screen.
    I haven't looked at the actual project, but if you've got past the UWP splash screen and onto a black window then you've loaded *something*, probably the built-in Entry map. You might see whether you can open the debug console and load some other map, or take a look at the debug spew to see if it offers any clues.

    Leave a comment:


  • replied
    yup logs show it connecting and transferring stuff.

    Leave a comment:


  • replied
    Are you sure it's connecting? AFAIK UWP apps cannot access localhost by default, you need to setup an exception for specific apps: https://msdn.microsoft.com/en-us/lib.../dn640582.aspx

    Leave a comment:


  • replied
    Ok, so PDB loading is good now (thx!)

    The -filehostip method doesn't appear to be working?

    I made a whole new blank project, set it up, works 100% when launching from the editor, I run the cook server, Press F5 from the debugger, game connects to the cook server and streams some stuff, then a totally black screen.

    Link to project: https://www.dropbox.com/s/18mj8d6hvdrdwfz/UWP2.7z?dl=0
    Last edited by Zelex; 10-14-2016, 04:57 PM.

    Leave a comment:


  • replied
    They're in the Binaries/UWPxx folder. If you hit Load Symbols and point the dialog at that path they should resolve. Should be a one-time thing; after that VS will remember the path for you.

    Leave a comment:


  • replied
    ok, gotcha. How do I get the PDBs to load properly?

    Leave a comment:


  • replied
    To run from VS you need to get content files into a location where the temporary deployment can read them. This can't be the standard UE directories since the UWP sandbox prevents access. Typically this means running an editor build to do cook-on-the-fly, and then pointing the UWP app at it to stream the content. To do so, you need to set some 'command line' parameters, which for UWP means dropping a UE4CommandLine.txt in your Binaries/UWPxx folder (this should automatically get copied into Binaries/UWPxx/AppX during deployment). You can borrow the UE4CommandLine.txt file that automation creates for you when running from the editor with cook-on-the-fly (it's in Saved/StagedBuilds/UWP), though it contains more than you need. The important portion is

    -filehostip=127.0.0.1
    You can also borrow the instance of the cook server that the editor spins up in order to provide the content.

    Alternatively you can pre-cook everything offline and then manually copy your cooked content into the Binaries/UWPxx/AppX location.

    All this is a good reminder that we still need a FAQ posted to GitHub.

    Leave a comment:


  • replied
    ok, so that works when I launch from the editor now which is fantastic!

    When I debug from VS though it now runs the game, but crashes almost immediately with no symbols. Log says:

    Assertion failed: HasFoundDataDirectory [File:E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Runtime\Core\Private\Internationalization\ICUInternationalization.cpp] [Line: 128]
    ICU data directory was not discovered:
    ../../../UE4_UWP/Content/Internationalization
    ../../../Engine/Content/Internationalization
    UE4_UWP-UWP32-Debug.exe has triggered a breakpoint.

    Leave a comment:


  • replied
    ahha! Thanks! will check that out!

    Leave a comment:


  • replied
    Thanks, that's super helpful.

    Your VS build output shows an attempt to deploy two different projects, UE4_UWP (which succeeds) and UE4Game (which fails). When you hit Build Solution for a UWP platform there's no filtering of game projects for whether or not they've configured UWP support. So if you're not interested in running UE4Game on UWP you can ignore its errors, or else limit the scope of your build to the project you care about rather than building the entire sln.

    Your editor problem is different. You ought to be able to work around it by providing a non-empty Description string for your project (in the Project Settings->Description page).

    Leave a comment:


  • replied
    Actually, let me revise the above post. Launching from the editor gives me this error

    ogPlayLevel: Project.Build: ********** BUILD COMMAND COMPLETED **********
    LogPlayLevel: Project.CopyBuildToStagingDirectory: ********** STAGE COMMAND STARTED **********
    LogPlayLevel: Project.WriteStageCommandline: Creating UE4CommandLine.txt
    LogPlayLevel: Project.CreateStagingManifest: Creating Staging Manifest...
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Writing PRI config file to E:\Unreal Projects\UE4_UWP\Intermediate\Deploy\priconfig.xml ...
    LogPlayLevel: Completed Launch On Stage: Build Task, Time: 8.511122
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Successfully Completed
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Index Pass Completed.
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Language Qualifiers: en
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Scale Qualifiers: 100
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0:
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Finished building
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Version: 1.0
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Resource Map Name: UE4Game
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Named Resources: 5
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0:
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Resource File: resources.pri
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Version: 1.0
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Resource Candidates: 10
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Language Qualifiers: en
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Scale Qualifiers: 100
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0:
    LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Successfully Completed
    LogPlayLevel: Project.CleanStagingDirectory: Cleaning Stage Directory: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP
    LogPlayLevel: Project.CopyManifestFilesToStageDir: Copying NonUFSFiles to staging directory: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP
    LogPlayLevel: Project.CopyManifestFilesToStageDir: Copying DebugFiles to staging directory: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP
    LogPlayLevel: Project.CopyManifestFilesToStageDir: Copying UFSFiles to staging directory: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP
    LogPlayLevel: Project.CopyBuildToStagingDirectory: ********** STAGE COMMAND COMPLETED **********
    LogPlayLevel: Project.Package: ********** PACKAGE COMMAND STARTED **********
    LogPlayLevel: Project.Package: ********** PACKAGE COMMAND COMPLETED **********
    LogPlayLevel: Project.Deploy: ********** DEPLOY COMMAND STARTED **********
    LogPlayLevel: Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException ---> System.Exception: Package could not be registered.
    LogPlayLevel: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP\AppxManifest.xml(23,62): error 0x80073B17: Cannot register the UE4Game_1.0.0.0_x64__wvbrvc80n7t76 package because the following error was encountered while determining whether the ms-resourceescription string resource could be localized: NamedResource Not Found.
    LogPlayLevel: . Check that the string resource is defined and that there is at least one instance defined in the resources.pri file contained in this package.
    LogPlayLevel: --- End of inner exception stack trace ---
    LogPlayLevel: at UWP.Automation.UWPPlatform.Deploy(ProjectParams Params, DeploymentContext SC) in e:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\UWP\UWPPlatform.Automation.cs:line 57
    LogPlayLevel: at Project.Deploy(ProjectParams Params) in e:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\Scripts\DeployCommand.Automation.cs:line 27
    LogPlayLevel: at BuildCookRun.DoBuildCookRun(ProjectParams Params) in e:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:line 220
    LogPlayLevel: at AutomationTool.BuildCommand.Execute() in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\AutomationUtils\BuildCommand.cs:line 27
    LogPlayLevel: at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 547
    LogPlayLevel: at AutomationTool.Automation.Process(String[] Arguments) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 517
    LogPlayLevel: at AutomationTool.Program.MainProc(Object Param) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\Program.cs:line 135
    LogPlayLevel: at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\AutomationUtils\Utils.cs:line 704
    LogPlayLevel: at AutomationTool.Program.Main() in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\Program.cs:line 59
    LogPlayLevel: Program.Main: AutomationTool exiting with ExitCode=35 (Error_AppInstallFailed)
    LogPlayLevel: Completed Launch On Stage: Deploy Task, Time: 4.756436
    LogPlayLevel: BUILD FAILED
    PackagingResults:Error: Error Launch failed! Failed to Install app

    Leave a comment:


  • replied
    Its a shame I can't just run the executable. Then I can avoid all this stuff and get back to programming!

    Leave a comment:


  • replied
    No I have no idea. I noticed that it created a pri file as well, but from the log it clearly doesn't work for some reason.

    Yes, this is when I build from VS, though launching from the editor does the same. Building a package however fails for some kind of signing nonsense, but that is going to be my next thread once I resolve this one! lol



    11> Target is up to date
    11> Prepping UE4_UWP for deployment to UWP64
    11> Writing PRI config file to E:\Unreal Projects\UE4_UWP\Intermediate\Deploy\priconfig.xml ...
    11> Successfully Completed
    11> Index Pass Completed.
    11> Language Qualifiers: en
    11> Scale Qualifiers: 100
    11>
    11> Finished building
    11> Version: 1.0
    11> Resource Map Name: UE4Game
    11> Named Resources: 5
    11>
    11> Resource File: resources.pri
    11> Version: 1.0
    11> Resource Candidates: 10
    11> Language Qualifiers: en
    11> Scale Qualifiers: 100
    11>
    11> Successfully Completed
    11> UWP deployment preparation took 0.18 seconds
    12> Target is up to date
    12> Prepping UE4Game for deployment to UWP64
    12> Empty or invalid value provided for required attribute Square150x150Logo on partially specified element Package.Applications.Application[0].uap:VisualElements
    12> Empty or invalid value provided for required attribute Square44x44Logo on partially specified element Package.Applications.Application[0].uap:VisualElements
    12> Empty or invalid value provided for required attribute Image on partially specified element Package.Applications.Application[0].uap:VisualElements.uap:SplashScreen
    12> Validation error reading XML schema from XDK. The element 'Properties' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10' has incomplete content. List of possible elements expected: 'Logo' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10'.
    12> Validation error reading XML schema from XDK. The element 'Application' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10' has incomplete content. List of possible elements expected: 'VisualElementsChoice' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10' as well as 'VisualElements' in namespace 'http://schemas.microsoft.com/appx/manifest/uap/windows10'.
    12> Writing PRI config file to E:\rad\MICROSOFT_UWP_UNREAL\Engine\Intermediate\Deploy\priconfig.xml ...
    12> Successfully Completed
    12> Microsoft (R) MakePRI Tool
    12> Copyright (C) 2013 Microsoft. All rights reserved.
    12>
    12>MakePri : error 0x80080204: Appx manifest not found or is invalid. Please ensure well-formed manifest file is present. Or specify an index name with /in switch.
    12>
    12> Usage:
    12> ------
    12> MakePri.exe new /pr <project root> /cf <config file> [options]
    12>
    12> Example:
    12> --------
    12> MakePri.exe new /pr C:\MyApp\src\ /cf C:\MyApp\priconfig.xml /mn
    12> C:\MyApp\AppXManifest.xml /of C:\MyApp\src\resources.pri /o
    12>
    12> Description:
    12> ------------
    12> Creates a PRI file at [outputfile] by indexing all files in the
    12> [projectroot]and its subdirectories as directed by the [configxml]. The
    12> index will be assigned [indexname] to reference resources in the application
    12>
    12> Required Parameters:
    12> --------------------
    12> /ProjectRoot(pr) : <FOLDERPATH> Root location of project files
    12> /ConfigXml(cf) : <FILEPATH> Configuration file location. Use
    12> 'Makepri.exe createconfig' command to generate one
    12>
    12> Options:
    12> --------
    12> /OutputFile(of) : <FILEPATH> Output location of PRI file, default is
    12> [projectroot]\resources.pri
    12> /Manifest(mn) : <FILEPATH> Location of the application or component's
    12> manifest. This parameter is ignored if [indexname]
    12> is given. Default is [projectroot]\AppXManifest.xml
    12> /IndexName(in) : <STRING> Name for the generated index of resources.
    12> Typically matches the AppX package name, class library
    12> simple name, etc. May be supplied via the
    12> [manifest] parameter.
    12> /VersionMajor(vma): <INTEGER> [Deprecated] Major version number for
    12> index, default is 1
    12> /IndexLog(il) : <FILEPATH> XML Log of indexed resources, no file
    12> generated by default
    12> /AutoMerge(am) : This flag is not recommended for normal use with AppX
    12> packages. It causes Makepri.exe to set the auto
    12> merge flag within the PRI file. Default is not set.
    12> /ReverseMap(rm) : Generate a reverse mapping section in the PRI file
    12> which can be used for debugging purposes.
    12> /MappingFile(mf) : <MAPPINGFILETYPE> Generate a mapping file in the given
    12> file format.
    12> /SchemaFile(sf) : <FILEPATH> Output location of XML resource schema
    12> description.
    12> /IndexOptions(io) : <OPTIONS> Options to provide detailed control over
    12> behavior of resource indexers.
    12> /Overwrite(o) : Overwrite an existing output file of the same name
    12> without prompting
    12> /Verbose(v) : Causes verbose messages to be output to the console
    12> /Help(h, ?) : Display the usage help text
    12> /ExtensionDll(ex) : <FILEPATH> Location of the MRT environment extension
    12> DLL. This DLL must be signed by a Microsoft-issued
    12> certificate. Default is an empty path (no DLL
    12> will be used).
    12>
    12>
    12> FOLDERPATH - is a valid path to a folder
    12> FILEPATH - is a path to a file, either relative to the current
    12> directory or absolute
    12> MAPPINGFILETYPE - Supported File type(s): 'AppX'
    12>
    12> UnrealBuildTool Exception: System.IO.FileNotFoundException: Could not find file 'E:\rad\MICROSOFT_UWP_UNREAL\Engine\Intermediate\Deploy\resources.pri'.
    12> File name: 'E:\rad\MICROSOFT_UWP_UNREAL\Engine\Intermediate\Deploy\resources.pri'
    12> at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    12> at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
    12> at UnrealBuildTool.PackageResourceGenerator.GenerateResources(String OutputPath, String IntermediatePath, String LocalContentPath, String ProjectPathParam, String AppxManifestPath) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\UnrealBuildTool\UWP\ResourceGenerator.cs:line 465
    12> at UnrealBuildTool.UWPDeploy.PrepForUATPackageOrDeploy(FileReference ProjectFile, String InProjectName, String InProjectDirectory, String InExecutablePath, String InEngineDir, Boolean bForDistribution, String CookFlavor, Boolean bIsDataDeploy) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\UnrealBuildTool\UWP\UWPDeploy.cs:line 202
    12> at UnrealBuildTool.UWPDeploy.PrepTargetForDeployment(UEBuildTarget InTarget) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\UnrealBuildTool\UWP\UWPDeploy.cs:line 258
    12> at UnrealBuildTool.UnrealBuildTool.DoPostStartupStuffThatCanAccessConfigs(String[] Arguments) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\UnrealBuildTool\System\UnrealBuildTool.cs:line 1379
    12>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command "E:\rad\MICROSOFT_UWP_UNREAL\Engine\Build\BatchFiles\Build.bat UE4Game UWP64 Debug -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.

    Leave a comment:


  • replied
    To confirm: when you get this error you're attempting to build/run in Visual Studio, not in the Unreal Editor?

    Meanwhile I remain perplexed. The AppxManifest.xml file you provided validates for me in VS using the same schema set that UnrealBuildTool applies Specifically for the 10586 SDK these are:
    Windows Kits\10\Include\10.0.10586.0\winrt\UapManifestSchema.xsd
    Windows Kits\10\Include\10.0.10586.0\winrt\FoundationManifestSchema.xsd
    Windows Kits\10\Include\10.0.10586.0\winrt\AppxManifestTypes.xsd
    Windows Kits\10\Include\10.0.10586.0\winrt\AppxManifestSchema2010_v2.xsd
    Windows Kits\10\Include\10.0.10586.0\winrt\AppxManifestSchema2013.xsd
    Windows Kits\10\Extension SDKs\WindowsMobile\10.0.10586.0\Include\WinRT\AppxPhoneManifestSchema2014.xsd

    Additionally I've confirmed that I'm able to manually run makepri against that file + a Resources directory and get valid output. I do see that your folder contains a resources.pri, which suggests that makepri succeeded at some point. Any idea what might have changed?

    > makepri createconfig /cf priconfig.xml /dq en /o /pv 10.0.0
    Writing PRI config file to priconfig.xml ...
    Successfully Completed
    > makepri /pr . /cf priconfig.xml /mn AppxManifest.xml /il resindexlog.xml /o /of resources.pri
    MakePri: warning: Output location of PRI file(s) is detected to be under the project root. If previously generated PRI file(s) are present, these may be re-indexed and lead to unexpected results.
    Index Pass Completed.
    Language Qualifiers: en
    Scale Qualifiers: 100

    Finished building
    Version: 1.0
    Resource Map Name: UE4Game
    Named Resources: 8

    Resource File: resources.pri
    Version: 1.0
    Resource Candidates: 14
    Language Qualifiers: en
    Scale Qualifiers: 100

    Successfully Completed

    Leave a comment:


  • replied
    Ok, so. this may be an issue?

    This is at the top of the schema

    <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">


    http://schemas.microsoft.com/appx/ma...tion/windows10

    is a broken link now

    Leave a comment:

Working...
X