To create a build for UWP, go to Build Settings (menu: File > Build Settings). In the Platform list, select Universal Windows Platform, then select the Switch Platform button.
Note: Universal Windows Platform only shows in the Platform list if you’re using Unity on a Windows computer.
Unity doesn’t support Windows Phone development.
The main workflow when building a game or application for UWP using Unity is as follows:
When you click Build in the Build Settings window:
Unity generates and exports a Visual Studio Project.
Open the generated Project’s .sln file in Visual Studio.
Use Visual Studio to build your final application.
When you click Build And Run, Unity builds an app executable that can run independently.
Use these settings to configure how Unity builds your application.
|Target Device||Choose from the following options to build your app for any device, or select a specific device: Any device, PC, Mobile, or HoloLens.|
|Architecture||Select the type of CPU to build for (only applies to Build And Run).|
|ARM||32-bit ARM CPU.|
|ARM64||64-bit ARM CPU.|
|Build Type||Select the type of Visual Studio project or build to generate.|
|XAML Project||Visual Studio project that integrates Unity within a full XAML environment. This results in some performance loss, but lets you use XAML elements in your application.|
|D3D Project||Visual Studio project that integrates Unity in a basic app window. This results in the best performance.|
|Executable Only||Hosts the project in a pre-built executable for rapid iteration. This setting has the quickest iteration speed because it doesn’t require you to build the generated project in Visual Studio. It offers the same performance as D3D Project builds.|
|Target SDK Version||The Windows 10 SDK installed on the local PC to build the application against. This setting is only relevant when calling Windows 10 APIs directly from scripts.
Note: Unity requires the base Windows 10 SDK version 10.0.10240.0 or higher for building UWP apps, and doesn’t support Windows 8/8.1 SDKs.
|Minimum Platform Version||Minimum Windows 10 release version required to run the app.
Note: This setting is only relevant if you’re using Windows features or APIs that aren’t available in the base Windows 10 version (10.0.10240).
|Visual Studio Version||Target a specific Visual Studio release if you have multiple versions installed.|
|Build and Run on||Select the target device or transport to deploy and launch the app during Build And Run.|
|Local Machine||Deploys and launches the app on the local PC.|
|USB Device||Deploys and launches the app on a remote device over a USB connection.|
|Remote Device (via Device Portal)||Deploys and launches the app to a connected device over the Device Portal transport.
To deploy over the Device Portal, you must enter the connection and authentication information in these additional fields:
- Device Portal Address (required)
- Device Portal Username (optional)
- Device Portal Password (optional)
For more information, see documentation on Windows Device Portal deployment.
|Build Configuration||Select the build type (only applies to Build And Run).
Note: These build configurations are the same as those available in the Visual Studio project that Unity generates.
|Debug||Produces a build that contains additional code you can use for debugging, and enables the Profiler for your build.|
|Release||Produces a build that has debug code stripped out, and enables the Profiler for your build.|
|Master||Produces a build that is fully optimized for release.|
|Copy References||Disable this setting to allow the generated solution to reference Unity files from Unity’s installation folder instead of copying them to the build folder. This can save up to 10 GB of disk space, but you can’t copy the build folder to another PC. Unity also builds your application faster when you disable this setting.|
|Copy PDB files||Enable this setting to include Microsoft program database (PDB) files in the built Standalone Player. PDB files contain debugging information for your application, but might increase the size of your Player. For more information, see documentation on Windows debugging.|
|Development Build||A development build includes scripting debug symbols. When you select the Development Build setting, you can also select the Autoconnect Profiler, Script Debugging, and Scripts Only Build setting. It also enables the DEVELOPMENT_BUILD #define.
For more information about #define directives, see documentation on Platform dependent compilation.
|Autoconnect Profiler||Automatically connect the Profiler to the build. Only available if you enable the Development Build setting. For more information on the Profiler, see Profiler overview.|
|Deep Profiling||When you enable Deep Profiling, Unity profiles all of your script code and records all function calls. This is useful to pinpoint performance issues with your game code. However, it uses a lot of memory and might not work with very complex scripts. For more information, see documentation on deep profiling.|
|Script Debugging||Attach script debuggers to the Player remotely. Only available if you enable the Development Build setting.|
|Scripts Only Build||Enable this setting to build just the scripts in the current Project. Only available if you enable the Development Build setting.
Once enabled, Unity only rebuilds the scripts in your application, and leaves data files from a previously executed build intact. It significantly improves iteration times if you only change the code in your application.
Note: You need to build the entire Project once before you can use this setting.
|Compression Method||Compress the data in your Project at build time. This includes Assets, Scenes, Player settings, and GI data. Choose between the following methods:|
|Default||Default compression is set to None.|
|LZ4||A fast compression format that is useful for development builds. LZ4 compression can significantly improve loading time of applications built with Unity. For more information, see BuildOptions.CompressWithLz4.|
|LZ4HC||LZ4HC - A high compression variant of LZ4 that is slower to build but produces better results for release builds. LZ4HC compression can significantly improve loading time of applications built with Unity. For more information, see BuildOptions.CompressWithLz4HC.|