Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Tips and Tricks for Building for UWP and deploying to Xbox One

Discussion in 'Windows' started by schmosef, Apr 1, 2016.

  1. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    It's quite possible it's a bug, then. This is a "preview".

    Have you tried re-setting the game's resolution in code?
     
    Pendrokar likes this.
  2. CommunityUS

    CommunityUS

    Joined:
    Sep 2, 2011
    Posts:
    240
    I've yet to go through some of the stuff mentioned here. But I thought I would log somewhere a fix that worked for me in Unity 5.3.5f1.

    If you are having issues with project.lock.json and first pass assemblies...with no real discernable error message other than a list of dll's.

    Try deleting the folder with your project name inside your build folder, if following the channel9 tutorial...the build folder would be UWP/<ProjectName> delete that folder, and reboot xbox. Seemed to work.

    This problem arose after making changes to the project, building it again...then I get the project.lock.json error. This is a work around till I find out more.
     
  3. Flarup

    Flarup

    Joined:
    Jan 7, 2010
    Posts:
    164
    @angrypenguin : I just tried to set screen resolution in every update. Didn't help, but you could see that the aspect ratio of the graphics did change, so "something" happened :)

    I'm aware this Xbox One dev mode is still in beta, and that bugs can be expected. But I'm VERY thankful for all the help and suggestions I have received so far in the forums regarding the Xbox One dev mode.
     
    Pendrokar likes this.
  4. Flarup

    Flarup

    Joined:
    Jan 7, 2010
    Posts:
    164
    I have just tried to build using Unity 5.3.6p1 and can confirm that the screen resolution problem is gone. It now renders in 16:9 landscape mode as expected. Thanks a lot for the fix.
     
    Pendrokar, angrypenguin and schmosef like this.
  5. Johny_G

    Johny_G

    Joined:
    Mar 28, 2014
    Posts:
    20
    Thanks for the article! Only thing that did not work for me was the WiFi deployment. If your game has about 1GB, XboxOne is reluctant to keep the wireless connection alive long enough.

    However, I still have two issues with the deployed app, and I would love some help with that.

    1) The game is fully gamepad compatible, yet the virtual mouse is still present and the thumbstick controls both the mouse cursor and the standard controller input. Therefore the cursor runs around the screen during play and if I run mouse cursor over a button while different button is focused by controller, [A] simply clicks both. Is there any way to run this through Unity?
    https://msdn.microsoft.com/en-us/windows/uwp/xbox-apps/how-to-disable-mouse-mode#xaml

    2) For some reason, the game is categorized as App, not Game. Is that normal? Can this be switched?

    Thanks a lot!
     
  6. DotDream

    DotDream

    Joined:
    Dec 20, 2013
    Posts:
    12
    Hi! Thanks a lot for the article! I wish I had found this sooner because I spent way too long figuring this out all by my lonesome.

    @Johny_G I think for your first question you have to disable the cursor in Unity. So, Cursor.visible = false. And I think when you submit to Xbox the app will probably be categorized as a game but not sure.

    I also have another question. On the console the game seems to lag by a significant amount. Pretty much after I export the game, it goes down to 8 FPS when it starts actually playing. On any computer (even really old ones) the game runs 60 or above FPS, so I have no idea why this is happening. It is also a 2D game, so it shouldn't be taking up that much processing especially to the likes of Xbox. Is this the Dev Kit's problem or is this specific to my game? And, if its the Dev Kit's problem how do I test performance of my game on the Xbox?

    Any answers would be much appreciated.

    Thanks a lot!
     
  7. DotDream

    DotDream

    Joined:
    Dec 20, 2013
    Posts:
    12
    Also, when I try to run the game with control + F5 (or run without debugging) it gives me this error:

    Capture.PNG

    But, if I just run with F5 (as in Debug normally) there are no errors. I think the game might be lagging because I am running in Debug mode, so anyone know how I can fix this to make it run without the debugger attached? I just really need to know whether the performance is measurable on the xbox one or not.

    Thanks in advance!
     
  8. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    I haven't had time to play with this in a while. I did not have any issues running a debug vs master build. I don't remember what the performance difference was though.

    I know that some of the performance limiting constraints of UWP on Xbox One are actually lifted when you are in debug mode.

    In past experience with UWP and Metro apps on tablets, there was a significant performance increase running a master build vs a debug build.

    I'll try to do some testing with this next week.
     
  9. DotDream

    DotDream

    Joined:
    Dec 20, 2013
    Posts:
    12
    Thanks for the reply @schmosef! Okay, I tried running in Master and there was an increase in performance, but it still sometimes went down to very low FPS when there were animations on the screen. I thought it had to do with running it normally (with debugging). Thanks though!
     
  10. alexbofori

    alexbofori

    Joined:
    Aug 27, 2016
    Posts:
    8
    I have a Question regarding testing a Unity3d/Xbox game

    - if I understand correctly - Xbox One has to be connected with a PC when building UWP, but when the build is done is Xbox One able to run that app/game network/PC free then?
    Can I take my Xbox One to a friend for him to test that built demo app/game?

    Thanks in advance!
     
  11. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Maybe...

    I've found that when you try to run previously deployed UWP projects they often won't launch.

    Usually, you can keep trying and they will launch eventually. But sometimes/rarely they won't launch at all.

    I think at a minimum you have to be logged into your Microsoft account, even to run a previously deployed app. So you will have to have some sort of access to a network at your friend's house.

    Also, depending on how you reboot your Xbox One, it will clear the projects that have been previously deployed.

    You have to remember that these tools are still considered at the "preview" level. Not really even beta. Microsoft is still tweaking things and adding features. There are lots of weird glitches that seem to happen at random and then go away.

    Microsoft has said that an official version of the Dev Mode feature will be released later this year. I'm sure once that is out you will be able to keep the deployed projects and run them again without issue.
     
    Last edited: Aug 27, 2016
  12. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,875
    The Xbox One where you want to launch your application must be in dev mode, switching to dev mode is basically a factory reset which clears all apps on XboxOne... So the answer yes, you can take your game to a friend, but he'll have to switch Xbox into dev mode, but that will clear all his downloaded games and saves....
     
  13. alexbofori

    alexbofori

    Joined:
    Aug 27, 2016
    Posts:
    8
  14. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    To clarify, installing and rebooting into Dev mode will not cause a factory reset.

    With the Dev mode app installed, you can reboot between Dev mode and Retail mode all you want. You need to be in Dev mode to deploy UWP projects. You need to reboot into Retail mode to access your commercial games and apps.

    But if you later decide to uninstall Dev mode, that will indeed cause a factory reset, clearing your downloaded games and saves.

    Microsoft recommends you backup your save games to the cloud so that they will be available after a reset.

    Your downloaded games and apps will be re-downloadable after the factory reset.
     
    Last edited: Aug 30, 2016
  15. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Nice guide thank you @schmosef
    Just one question, if I made my app for Mobile, Desktop and Xbox One
    How are you detecting the difference between the platforms, so far I detect
    Mobile or Desktop, now porting to Xbox realize that Unity_XboxOne
    Will not work..cheers
     
    schmosef likes this.
  16. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    There's another thread discussing this here.

    Basically, for UWP apps, Microsoft want you to detect features, not devices.

    If you really want to detect device, this helper class, with some tweaks, might work (not sure if the relevant classes are actually available inside Unity).
     
    MrEsquire likes this.
  17. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Thank you dude much appreciated..
    This one thing that I guess people get struck on, a Unity created helper class would solve most issues, but hey they got bug fixing to be doing :)
     
    schmosef likes this.
  18. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    There are 2 problems with it:

    1. You should really be detecting features rather than device type.
    2. What should happen if your application gets run on a new device type that your application didn't know existed before?
     
    -chris likes this.
  19. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Yes you are correct, but it took some time to figure this out as there is lot of "chatter" on the forums and no one has provided a solid answer. People doing things differently etc, but I do now understand what is trying to be done by Microsoft. The fact that they opened Xbox One later than Mobile and Desktop means some code needs to be re-factored to take into account Xbox One.

    I guess going down the detecting Controller route seems to be most logical way..

    Cheers for help
     
  20. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    First, big thanks to the OP and all contributors!

    Second, I'm hoping you guys can point us in the right direction...

    We are attempting to port a game initially built for "standalone PC" to UWP, to run on Windows 10 PC's and more importantly, Xbox One.

    Our first step was to simply switch platforms to UWP (in Unity) and build, using the default setting of .NET scripting backend. But, we got a lot of errors related to .NET differences.

    So .. after reading this thread, we decided to try the il2cpp scripting backend. This made all of our .NET problems go away! Awesome! This version runs on my Windows 10 desktop. But, we can't get this version to run on an Xbox One when launching from Visual Studio. We see:

    "Connection request was rejected by the remote debugger. Ensure that the remote debugger is running in 'Windows Authentication' mode."

    I decided to do a test with the Standard Assets Example Project. When I build that for UWP with .NET, it launches to the Xbox from Visual Studio without problems. If I make zero changes and simply rebuild it with il2cpp, I get the same issue as above and it won't deploy. If I go back to .NET, it will deploy again.

    Does anyone have any tips for us on what we might be doing wrong? I assume others have successfully deployed to Xbox One using the il2cpp backend - could someone confirm?

    Thanks!
     
  21. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Have you tried deploying without debugging?

    I've had no trouble deploying projects with both types of scripting backends, but I don't do a lot of remote debugging (my XboxOne is in another room) so I'm not sure if debugging actually works with both backends.

    It's possible that there is a problem with the il2cpp debugger.
     
  22. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    Thanks for the quick response! I'm not exactly sure how to do that (sorry, a bit new to this) but I'll investigate and get back to you.
     
  23. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    I'll take a screenshot of the relevant Visual Studio command when I get home.
     
  24. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    I deployed IL2CPP builds and debugged them personally - that should work. Are you setting the IP address of the console correctly in the debugger settings? In C++ projects, that setting is located in a different place than C# projects.
     
  25. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Here's a screenshot for deploying without debugging.

    @Tautvydas-Zilys might be correct that you do not have your deployment settings setup correctly.

    deploy solution screenshot.png
     
  26. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    Hi guys

    Thanks again for your help.

    I decided to try things from pretty much scratch to just be sure of all the steps I tried. Unfortunately I'm running into the same problem. Here's what I've tried.

    I updated to Unity 5.4.1.f1, made a copy of the latest Standard Assets Example Project, then followed schmosef's instructions to the letter. I left .NET as the scripting backend, and used XAML. I chose a single scene out of the Example Project (2dCharacter). I tested the resulting Visual Studio project locally, works fine.

    When I tried to do Step 15, I had the same problem GoopityGoopGoop mentioned a few posts back. Running with debugging worked fine. I also tried "Deploy Solution" which also worked.

    The I went back to the Unity project, switched the backend scripting to il2cpp, and built without any other changes.

    The local machine test worked fine. But, when I try to run on the Xbox, I get:

    "Unable to connect to the Microsoft Visual Studio Remote Debugger named '192.168.223.221'. Connection request was rejected by the remote debugger. Ensure that the remote debugger is running in 'Windows Authentication' mode."

    I have as far as I can tell set-up the remote machine info correctly. If we change the Authentication mode to Windows instead of Universal, we still get the error.

    I see that same error if I hit the play button, use CTRL-F5, or Build->Deploy Solution. We even tried 'side loading' by making app packages and deploying use WinAppDeployCmd.exe. Again we can get the .NET version on the kit this way, but the il2cpp version runs into problems.

    I have Visual Studio Community with Update 2, but I'm downloading Update 3 now (but I have already confirmed the same problem exists with Update 3 on a colleagues' machine).
    We have updated the kit with the latest recovery - the OS version is 10.0.14393.1062. I'm not sure if this is relevant, but, our kit is a 'real' dev kit (as opposed to a retail kit with the developer mode app).
    I seem to have 2 versions of the Windows SDK installed - 10.10586.212 and 10.14393.33. I thought I had the latest, but I'm going to double check that and probably uninstall 10.10586.212.

    Now, while writing this up, we did run some other tests that pretty much indicate that our problems don't come from il2cpp at all, other than the fact that the resulting project is c++. I took Unity out of the picture completely but just building a brand new Windows 10 C++ project in Visual Studio, and it exhibits the exact same issues.

    I'm not sure if this is worth mentioning, but, on the kit, I cleared all Visual Studio pairings. The error occurs before we reach the stage of being asked for a pin number.

    Once I've made sure I have all of the latest SDK's and Updates, I'll try again and let you guys know.
     
  27. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Later tonight (when I get home) I'll see if I can reproduce the issue of not being able to deploy/re-deploy when you switch scripting backend.
     
  28. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    Thanks schmosef, but, I imagine you won't see any issues. I'm quite sure there is something wrong with our setup. If I make a blank, brand new C++ UWP project in Visual Studio, no matter what I try it won't launch to the Xbox and I get the same error I mentioned above. If I make a new blank C# project, it deploys fine.

    Unfortunately I have no idea why I can deploy C# project fine, but not C++. But whatever the reason it seems to have nothing to do with Unity or il2cpp.

    Would you guys mind telling me what version of the SDK you are using, and what version of the OS is on your Xbox? I'm sure I'm fully up to date, and we are seeing the same problem on 2 different PC's and 2 different dev kits, so I'm running out of ideas.
     
  29. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    I'm having some trouble with my dev PC at home. I won't be able to do a test for a few days (waiting on replacement RAM from Corsair).

    I can tell you that I'm running VS2015 Pro with Update 3 and all the post Update 3 updates. I seem to remember that Update 3 includes an updated UWP SDK (not sure what the official version # is).

    My XboxOne is a retail unit so I imagine it's running the latest released OS and dev mode app.
     
    Last edited: Oct 7, 2016
  30. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    The console in my office is running 10.0.14352.1026 OS. I created a new C++ project targeting UWP, opened project properties, in debugging section selected "Remote Machine" and entered the IP:

    upload_2016-10-6_17-2-2.png

    Then, I switched current platform to x64 and deployment target to "Remote Machine":

    upload_2016-10-6_17-2-57.png

    Then I hit F5, and it deployed it to the xbox just fine.
     
  31. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    Thanks again guys.

    Well, I'm stumped. Your version of the OS on the Xbox is slightly older than ours, but not by much (ours is 10.0.14393.1062 from August). I guess I can try wiping our kits.
     
  32. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    @Tautvydas-Zilys Hey, I was wondering if there was something else I could ask you about ...

    As I mentioned earlier we are trying to port a PC Standalone game to UWP to run on Windows 10 and Xbox One. We were looking at a lot of changes to our code to support the differences in .NET for Unity vs .NET for UWP. We saw you mention il2cpp in here, so we gave that a try, and (aside from my deployment woes) it seems like a bit of a "magic bullet" for us because all of our .NET problems are gone.

    But... Porting a game to Xbox One is usually more than just code port. For us for example, we want to support "Play Anywhere" and make use of other Xbox Live features.

    Then I noticed this thread:
    https://forum.unity3d.com/threads/uwp-plugins-from-net-backend-to-il2cpp.398744/

    So ... this kind of suggests to me that trying to make an xbox game with il2cpp not a good way to go. Would that be an accurate conclusion? It seems like I have to decide between 2 scenarios:
    • Fix up all of the issues that come from .NET differences, but have easy access to UWP and Xbox Live API's
    • Use il2cpp backend and avoid the .NET work, but, do a lot of work and acrobatics to access the API's I need for new features (assuming this is even possible)
    Is that a reasonable interpretation of my options? Or have I misunderstood something? I know it will be hard to answer without knowing any details about our project, but, what would you recommend?

    Thanks!
     
  33. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    It depends really how comfortable you are with C++, really. Currently, IL2CPP does not allow referencing .winmd files from C#, so you have to access all those APIs from C++. Though, it's nowhere near impossible to make it work. Mind you, I've been working on making IL2CPP support that for over 6 months now, and we are getting close. Not close enough if you need it now, though :(.
     
    schmosef likes this.
  34. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    If you already have a dev kit, I would think twice about porting your game to UWP for XboxOne.

    There has been some conflicting info on whether Microsoft actually intends to allow UWP games on XboxOne.

    They seem to want Apps over games at this point.

    In the release notes for UWP on XboxOne they caution that the platform will be resource limited and they recommend that developers making games apply to the ID@Xbox program (to get a dev kit) so they can take full advantage of the console.

    If you already have a dev kit, do you really need UWP?

    Lol! I'm the one who started this thread and here I am discouraging you from using UWP!

    But maybe you know something about Microsoft's plans that isn't public knowledge. I don't have a dev kit and I haven't signed an NDA with Microsoft. You might have a good reason for doing the port. I just don't want you to waste your time.

    UWP for PC seems like a good idea though.
     
  35. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    Ya I totally get where you are coming from and thanks for the word of caution! But, our client is really interested in the "Play Anywhere" feature (buy once on either platform, continue your game on either). Luckily the game has already been on mobile, so, we are hoping there won't be the need to "take full advantage of the console".

    But, unfortunately it seems like we have a long way to go before getting it on the Xbox to validate that concern. If only I could get the il2cpp version to deploy ... I still haven't tried wiping my kit yet though, fingers crossed.
     
    schmosef likes this.
  36. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    I'll do some troubleshooting for you once I get the replacement RAM for my Dev PC at home.
     
  37. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    Hi guys

    Just figured I'd give you guys an update ... We found our problem.

    As I mentioned before, we have 'real' dev kits and have been developing other games for the Xbox One using the XDK. I had an old version of the XDK installed on my PC. As soon as I uninstalled it, my deployment problems disappeared. I'm going to try again with the most recent version of the XDK.
     
    phipro and schmosef like this.
  38. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    I've been waiting for replacement RAM from Corsair for my dev PC at home (actually, they sent it pretty fast but UPS has been quite slow getting it from their local depot to me).

    Once I get it I was planning to do some experimenting to see if I could find a tricky setting that could have been causing your issue.

    Glad to hear that you've found the culprit.
     
    Snowed-In likes this.
  39. Snowed-In

    Snowed-In

    Joined:
    Jan 29, 2016
    Posts:
    11
    Thanks again for your help. By the way, if we have the latest XDK installed, the problem is also gone. Apparently it was known issue with older versions of the XDK. So, might be worth mentioning in your guide, something like "you don't need to have the XDK installed, but if you do, make sure it's up to date".
     
    schmosef likes this.
  40. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Thanks. I will make that note.
     
  41. arvzg

    arvzg

    Joined:
    Jun 28, 2009
    Posts:
    619
    Hi guys,

    I've followed @schmosef's instructions but am running into a couple of problems:

    1. In Unity when I try to build the solution I get the error:
    I actually found this file in C:\Program Files (x86)\Windows Kits\10\UnionMetadata\ and there is no Facade folder. I created the Facade folder and copied Windows.winmd into it and that seems to fix the problem. Not sure what's going on there

    2. After opening the solution in Visual Studio I'm now getting this error:
    UnityCommon.props is of course not where it's supposed to be and I cannot find this file anywhere.

    EDIT: Fixed this by not ticking 'Unity C# Projects' in build settings. UnityCommon.props now appears in the solution folder.

    3. After having fixed 2) I'm now running into another problem:

    It's quite long, so here it is on Pastebin: http://pastebin.com/rLaCBGyB

    Any advice appreciated thanks!
     
    Last edited: Oct 20, 2016
  42. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    From what I understand, "Windows.winmd" is a generic name for a metadata file.

    On my computer, there is a Windows.winmd file outside the Facade folder and one inside that folder. The one outside is 4,597KB and the one inside is 170KB.

    I did a search for "Windows.winmd" inside my Windows Kits folder and it found 8 files, all different sizes. I don't think it will work if you just copy it from another location.

    I think your Windows 10/UWP SDK might not be installed correctly. You might want to try re-installing.

    Some other possibilities:

    1) I notice that your project is on your D: drive. VS might have permission issues. You should test exporting your project to the C: drive. Note that this is just a troubleshooting step. I don't run my projects on C: either.

    2) Your output path may include characters that Visual Studio does not like. For example, Visual Studio does not like ampersands (&) in a project path. I think there are some other characters it does not like. I'm not sure what they all are. For now, test exporting to "c:\my project" just to rule out these issues.

    I think your first step would be to reinstall the VS 2015 Update 3. If that does not fix the missing files from your Windows Kits folder, install the standalone SDK from here.

    Then, troubleshoot the VS file path and permission issues by building to a simple path on your C: drive.

    Good luck!
     
  43. arvzg

    arvzg

    Joined:
    Jun 28, 2009
    Posts:
    619
    Ok I tried reinstalling VS 2015 with Update 3 and reinstalling the Win 10 SDK and the Windows.winmd is now in the right place with the right file size, and the errors I got before are gone. I tried deploying the game to local machine and that seems to work semi-ok (controller input is not working though) but when I deploy to my Xbox I just get a blank white screen. Any idea?
     
  44. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    What kind of project are you trying to deploy?

    Start with something super simple first (like maybe a static textured cube), just to test the workflow.

    Make sure your scene is selected in Build Settings.

    Beyond that, I've occasionally run into shader problems with some of the demo projects I've deployed. I think that there are still bugs in the UWP GPU drivers.

    Again, start with something simple and add complexity little by little.

    If you can identify the specific shader, script or API call that is causing your app not to work, you can submit a bug report to Unity to investigate.
     
  45. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Update News:

    Microsoft has released the Xbox Dev Mode Companion (preview) app.

    It acts as like an RDP client to let your remotely control your Xbox One. You control your Xbox One with your PC using your keyboard or a gamepad. I was able to use an Xbox 360 wireless controller connected to my PC.

    It worked right away and was better at detecting my Xbox One than Visual Studio.

    I've done some FPS testing and the Xbox seems to be running the games at full speed with the RDP window skipping some frames, but still very fluid.

    This app is very useful to me because my Xbox One is in a different room from the spare bedroom I use as a home office.

    I think this app has been out for a couple of months. I just found out about it now. I'm really glad that I did.

    Xbox One Dev Mode Companion Preview Connecting.png

    Xbox One Dev Mode Companion Preview.png
     
    Last edited: Oct 23, 2016
    angrypenguin likes this.
  46. MoldyTipp

    MoldyTipp

    Joined:
    Nov 25, 2016
    Posts:
    2
    We fixed it, thanks for the great guide! :D
     
    schmosef likes this.
  47. AJ-Design

    AJ-Design

    Joined:
    Nov 1, 2016
    Posts:
    15
    @scbhmosef - based on the screenshots you posted in post #3 your game went from 50+fps (on your PC) to an average of 19fps (on the Xbox One). Is there anything we can do on our end to help that? Xbox One has a very powerful processor and GPU, It should handle your scene with no problem.
     
  48. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    That isn't true. The CPU on Xbox One is very weak. And you only get 2 cores of it. The GPU is equivalent to mid-range GPU of 2013, of which you get only 45% for your game. It's natural that the performance is way worse than on PC.

    You'll have to profile and optimize your game if you are getting bad performance.
     
  49. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    @Tautvydas-Zilys is correct. While the Xbox One CPU and GPU are indeed capable of great things, UWP apps are quite limited in access to system resources. I hope this improves, at least a little, with the Project Scorpio hardware.

    It's still a great platform for prototyping and demoing. Microsoft officially recommends applying for the ID@XBOX program if you want to gain "access to the maximum potential of the Xbox One hardware."
     
    MV10 likes this.
  50. AJ-Design

    AJ-Design

    Joined:
    Nov 1, 2016
    Posts:
    15
    Thank you guys for your answers. That makes sense. Do you know why Microsoft decided to limit the performance of UWP apps to 2 cores and 45% of GPU? You mentioned that Scorpio might be different, any word on that from Microsoft?

    I did apply to id@xbox, but I can't get a development Xbox until I give them a game that they are interested in. So, for now, that's not an option for me since I'm just getting my feet wet with the platform, testing it. Trying to see what my options are.

    Since the Xbox One only offers limited performance, is the iPad Pro more powerful platform to develop a game for? I read that the CPU on the iPad Pro is more powerful than the Xbox One, but that the GPU and the Memory bandwidth is much better on the Xbox... But is that still true with only 45% allocated to UWP apps?

    I'm trying to find the most powerful portable and affordable platform to demonstrate my game on. I thought the best way to go would be with the Xbox One Developer program, but after reading this thread, I might be wrong. What do you guys suggest? How about Nvidia Shield TV?