Version: 2021.3
Language : English
Windows Player settings
Visual Studio project generation for Windows

Windows Player build binaries

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 info
    See in Glossary
    option in the Build Settings window.
  • ProjectName_Data folder - This folder contains all the data needed to run your project.

How to rebuild the game executable

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.

Windows Build Settings

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:

  • Build builds your application into a Player
  • Build and Run builds your application in a Player, and opens that Player on your target platform.
Windows build settings in Unity
Windows build settings in Unity

Build Settings

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 iOSApple’s mobile operating system. More info
See in Glossary
, 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.

Asset Import Overrides

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.

Building your Windows application

To build your application, select from one of the following options:

  • Build: Compile a Player. The default build is incremental, except for the first build, which is always a full non-incremental (clean) build. To force a clean build instead of an incremental build, select Clean Build from the dropdown menu.
  • Build and run: Compile a Player and open it in your native platform. This option always uses the incremental build.

  • 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

Windows Player settings
Visual Studio project generation for Windows