When you build a Unity project on the Windows platform, Unity produces the following files, where ProjectName
is the name of your project:
ProjectName.exe
- The project executable. This contains the program entry point which calls into the Unity engine when launched.UnityPlayer.dll
- The DLL file that contains all the native Unity engine code. It’s signed with the Unity Technologies certificate, which lets you verify that no malicious entities have tampered with your engine.*.pdb files
- Symbol files for debugging. Unity copies these to the build directory if you enable Copy PDB files in the Build Settings window.WinPixEventRuntime.dll
- This DLL enables Windows PIX profiler support. Unity only creates this file if you enable the Development BuildA development build includes debug symbols and enables the Profiler. More infoProjectName_Data folder
- This folder contains all the data needed to run your project.The path to the source code for ProjectName.exe is in the WindowsPlayer folder: Editor\Data\PlaybackEngines\WindowsStandaloneSupport\Source\WindowsPlayer.
To modify the executable, or ship the code which you built yourself (if you want to sign it, for example), you must rebuild the executable and place it in your built game directory.
To build your executable outside of Unity, you need Visual Studio 2019 or 2022 with Desktop development with C++ workload installed.
To create a build for Windows, go to Build Settings (menu:** File > Build Settings). In the Platform list, select Windows, then select Switch Platform.
When you have configured the Build Settings, choose from one of the options below:
Use these settings to configure how Unity builds your application.
Setting | Function | |
---|---|---|
Target platform | Select Windows to build your app for the Windows platform. | |
Architecture | Select the type of CPU to build for (only applies to Build And Run). | |
Intel 64-bit | Intel/AMD 64-bit CPU architecture. | |
Intel 32-bit | Intel 32-bit CPU architecture. | |
Copy PDB files | Enable this setting to include Microsoft program database (PDB) files in the built Windows Player. PDB files contain debugging information for your application, but might increase the size of your Player. For more information, see Windows debugging. | |
Create Visual Studio Solution | Enable this setting to generate Visual Studio solution files for the project such that you can build the project from Microsoft Visual Studio directly. | |
Development Build | Enable this setting to include scripting debug symbols and the ProfilerA window that helps you to optimize your game. It shows how much time is spent in the various areas of your game. For example, it can report the percentage of time spent rendering, animating, or in your game logic. More info See in Glossary in your build. When you enable this, Unity sets the DEVELOPMENT_BUILD#define for testing purposes. When you select Development Build, Autoconnect Profiler, Deep Profiling Support, Script Debugging, and Wait for Managed Debugger settings also become available. |
|
Autoconnect Profiler | Enable this setting to automatically connect the Unity Profiler to your build. | |
Deep Profiling Support | Enable this setting to switch Deep Profiling in the Profiler. This makes the Profiler instrument every function call in your application and returns more detailed profiling data. When you enable Deep Profiling Support, it might slow down script execution. | |
Script debugging | Enable this setting to allow your script code to be debugged. Not available on WebGLA JavaScript API that renders 2D and 3D graphics in a web browser. The Unity WebGL build option allows Unity to publish content as JavaScript programs which use HTML5 technologies and the WebGL rendering API to run Unity content in a web browser. More info See in Glossary. |
|
Wait for Managed Debugger | Enable this setting to be prompted to attach a debugger before Unity executes any script code. | |
CompressionA method of storing data that reduces the amount of storage space it requires. See Texture Compression, Animation Compression, Audio Compression, Build Compression. See in Glossary Method (Not available on Lumin or WebGL platforms) |
Compress the data in your Project when you build the Player. This includes AssetsAny media or data that can be used in your game or project. An asset may come from a file created outside of Unity, such as a 3D Model, an audio file or an image. You can also create some asset types in Unity, such as an Animator Controller, an Audio Mixer or a Render Texture. More info See in Glossary, ScenesA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info See in Glossary, Player settings, and GI data. Choose from the following methods: |
|
Default | On Windows, Mac, Linux, and iOS, there is no compression by default. On Android, the default compression is ZIP, which provides better compression results than LZ4HC; however, data is slower to decompress. | |
LZ4 | A fast compression format that’s useful for development builds. For more information, see BuildOptions.CompressWithLz4. | |
LZ4HC | A high compression variant of LZ4 that’s slower to build but produces better results for release builds. For more information, see BuildOptions.CompressWithLz4HC. |
The Asset Import Overrides section allows you to locally override all texture import settings to speed up import and platform switch time. You must avoid shipping your final build with any import overrides, but during development they can be useful to speed up iteration time, especially if assets such as textures resulting in lower resolution is not of any concern.
Setting | Function | |
---|---|---|
Max Texture Size | Override the maximum imported texture size. Unity imports textures in the lower of two values: this value, or the Max Size value specified in Texture import settings. The time it takes to import a texture is roughly proportional to the amount of pixels it contains; therefore, reducing maximum allowed texture size can speed up the import times. However, as this setting might result in lower resolution textures, use it only for development purposes. |
|
Texture Compression | Override the texture compression options set in Texture import settings. This only affects textures imported into one of the compressed texture formats. |
|
Force Fast Compressor | Use a faster yet lower quality texture compression mode for formats where this is applicable (BC7, BC6H, ASTC, ETC, ETC2). Typically, this results in more compression artifacts, but for many formats the compression itself is many times faster (2 to 20 times faster). This setting also disables the Crunch texture compression format on any textures that have it. The effect is the same as if all textures had their Compressor Quality set to Fast setting in their platform’s Texture import settings. |
|
Force Uncompressed | Don’t compress the textures; use uncompressed formats instead. Note that while this is faster to import because it skips the whole texture compression process, the resulting textures take up more memory, game data size, and can impact rendering performance. Texture import settings. This option has the same effect as all textures that have their Compression set to None in their platforms’ Texture Import settings. |
You can also set Asset import override settings using -overrideMaxTextureSize
and -overrideTextureCompression
Editor Command line arguments to change any initial project import.
To build your application, select from one of the following options:
2017–07–19 Page published
Windows standalone Player build binaries changed in 2017.2 NewIn20172
Windows XP support in Standalone Player removed in 2018.1