# Dedicated Server Player settings

> Lists the Player settings that aren't relevant for the Dedicated Server platform while also describing the settings that you can customize to suit your needs.

The Player settings for the Dedicated Server Player are a subset of the Desktop target Player settings. For a description of the general Player settings, refer to [Player Settings](/engine/6000.0/manual/unity-editor/editor-settings-reference/comp-manager-group/class-player-settings.md).


**Dedicated Server Player settings:**
![](/api/media?file=/engine/6000.0/media/images/dedicated-server-player-settings.png)

Due to the headless and server application nature of the Dedicated Server, only the options in the **Other Settings** section are applicable. The following options don't apply:

* Icon
* Resolution and Presentation
* Splash Image
* Publishing Settings

## Other Settings

This section allows you to customize a range of options organized into the following groups:

* [Configuration](#Configuration)
* [Shader Settings](#ShaderSettings)
* [Shader Variant Loading Settings](#ShaderVariantLoading)
* [Script Compilation](#ScriptCompilation)
* [Optimization](#Optimization)
* [Stack Trace](#stack-trace)
* [Legacy](#Legacy)
* [Capture Logs](#CaptureLogs)

### Configuration

| **Property**                              | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Scripting Backend**                     | Choose the scripting backend you want to use. The scripting backend determines how Unity compiles and executes C# code in your Project.* **Mono**: Compiles C# code into .NET Common Intermediate Language (CIL) and executes that CIL using a Common Language Runtime. For more information, refer to [Mono](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/backends/mono.md.md).- Editor: Compiles C# code into CIL, converts the CIL to C++ and then compiles that C++ into native machine code, which executes directly at runtime. For more information, refer to [IL2CPP](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/backends/il2cpp.md.md).                                                                                                                                                                                                                                                                                                                             |
| **API Compatibility Level**               | Choose which .NET APIs you can use in your project. This setting can affect compatibility with third-party libraries. However, it has no effect on Editor-specific code (code in an Editor directory, or within an Editor-specific Assembly Definition).**Tip:** If you're having problems with a third-party assembly, you can try the suggestion in the [API Compatibility Level](#apiComp) section.* **.Net Framework**: Compatible with the .NET Framework 4 (which includes everything in the .NET Standard 2.0 profile plus additional APIs). Choose this option when using libraries that access APIs not included in .NET Standard 2.0. Produces larger builds and any additional APIs available aren't necessarily supported on all platforms. For more information, refer to [Referencing additional class library assemblies](/engine/6000.0/manual/scripting/environment-and-tools/overview-of-dot-net-in-unity/dotnet-profile-assemblies.md.md).- **.Net Standard 2.1**: Produces smaller builds and has full cross-platform support. |
| **Editor Assemblies Compatibility Level** | Select which .NET APIs to use in your Editor assemblies.* **.NET Framework**: Compatible with the .NET Framework 4 (which includes everything in the .NET Standard 2.1 profile plus additional APIs). Choose this option when using libraries that access APIs not included in .NET Standard 2.1. Produces larger builds and any additional APIs available aren't necessarily supported on all platforms. For more information, refer to [Referencing additional class library assemblies](/engine/6000.0/manual/scripting/environment-and-tools/overview-of-dot-net-in-unity/dotnet-profile-assemblies.md.md).- **.NET Standard**: Compatible with [.NET Standard 2.1](https://docs.microsoft.com/en-us/dotnet/standard/net-standard). Produces smaller builds and has full cross-platform support.                                                                                                                                                                                                                                               |
| **IL2CPP Code Generation**                | Defines how Unity manages IL2CPP code generation. This option is only available if you use the IL2CPP scripting backend.- **Optimize for runtime speed**: Generates code optimized for runtime performance. This setting is enabled by default.
- **Optimize for code size and build time**: Generates code optimized for build size and iteration. This setting generates less code and produces a smaller build, but can reduce runtime performance for generic code. Use this option when faster build times are important, such as when iterating on changes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **C++ Compiler Configuration**            | Choose the C++ compiler configuration used when compiling IL2CPP generated code.* **Debug**: The debug configuration turns off all optimizations, which makes the code quicker to build but slower to run.* **Release**: The release configuration enables optimizations so that the compiled code runs faster, the binary size is reduced, but compilation takes longer.- **Master**: Master configuration enables all possible optimizations, squeezing every bit of performance possible. For instance, on platforms that use the MSVC++ compiler, this option enables link-time code generation. Compiling code using this configuration can take significantly longer than it does using the Release configuration. The recommended best practice is to build the shipping version of your game using the Master configuration if the increase in build time is acceptable.                                                                                                                                                                   |
| **IL2CPP Stacktrace Information**         | Choose the information to include in a stack trace. For further details on the information types, refer to [Managed stack traces with IL2CPP](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/backends/il2cpp/il2cpp-managed-stack-traces.md.md).* **Method Name**: Include each managed method in the stack trace.- **Method Name, File Name, and Line Number**: Include each managed method with file and line number information in the stack trace.

  **Note**: Using this option can increase both the build time and final size of the built program.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Allow downloads over HTTP**             | Indicate whether to allow downloading content over HTTP. The default option is **Not allowed** due to the recommended protocol being HTTPS, which is more secure.* **Not Allowed**: Never allow downloads over HTTP.* **Allowed in Development Builds**: Only allow downloads over HTTP in development builds.- **Always Allowed**: Allow downloads over HTTP in development and release builds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Target minimum macOS version**          | Specifies the minimum supported macOS version which is 10.13.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

#### API Compatibility Level

You can choose your mono API compatibility level for all targets. Sometimes a third-party .NET library uses functionality that's outside of your .NET compatibility level. To understand what's going on in such cases, and how to best fix it, try following these suggestions:

1. Install [ILSpy](https://www.microsoft.com/en-us/p/ilspy/9mxfbkfvsq13?cid=msft_web_chart\&activetab=pivot:overviewtab) for Windows.
2. Drag the .NET assemblies for the API compatibility level that you are having issues with into ILSpy. You can find these under `Frameworks/Mono/lib/mono/YOURSUBSET/`.
3. Drag in your third-party assembly.
4. Right-click your third-party assembly and select **Analyze**.
5. In the analysis report, inspect the **Depends on** section. The report highlights anything that the third-party assembly depends on, but that's not available in the .NET compatibility level of your choice in red.

### Shader Settings

| **Property**               | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Shader Precision Model** | Select the default precision shaders use. For more information, refer to [Use 16-bit precision in shaders](/engine/6000.0/manual/materials-and-shaders/shaders/writing-custom/shader-writing/sl/writing-shader-writing-shader-programs-hlsl/sl-use16bit-precision-in.md.md).* **Platform default**: Use lower precision on mobile platforms, and full precision on other platforms.- **Unified**: Use lower precision if the platform supports it. |

### Shader Variant Loading Settings

Use these settings to control how much memory shaders use at runtime.

| **Property**                | **Description**                                                                                                                                                                                                                                                                                                        |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Default chunk size (MB)** | Sets the maximum size of compressed shader variant data chunks Unity stores in your built application for all platforms. The default is `16`. For more information, refer to [Shader loading](/engine/6000.0/manual/materials-and-shaders/shaders/shader-troubleshooting/shader-reduce-stalling/shader-loading.md.md). |
| **Default chunk count**     | Sets the default limit on how many decompressed chunks Unity keeps in memory on all platforms. The default is `0`, which means there's no limit.                                                                                                                                                                       |
| **Override**                | Enables overriding **Default chunk size** and **Default chunk count** for this build target.                                                                                                                                                                                                                           |
| **Chunk size (MB)**         | Overrides the value of **Default chunk size (MB)** on this build target.                                                                                                                                                                                                                                               |
| **Chunk count**             | Overrides the value of **Default chunk count** on this build target.                                                                                                                                                                                                                                                   |

### Script Compilation

| **Property**                      | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Scripting Define Symbols**      | Sets custom compilation flags.For more details, refer to [Platform dependent compilation](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/platform-dependent-compilation.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Additional Compiler Arguments** | Specifies additional arguments to pass to the Roslyn C# compiler. Enter one valid compiler argument per list entry. To create a new entry, select **Add (+)**. To remove an entry, select **Remove (-)**. Select **Apply** to include newly added arguments in future compilations. Select **Revert** to reset the list to the most recent applied state. Arguments must use the `csc.exe` syntax, for example: `-warnaserror`. For the full list of supported Roslyn compiler options, refer to [C# compiler options](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/) in the Microsoft documentation.You can also supply additional command-line arguments to the C# compiler with a `csc.rsp` [response file](https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-response-files?view=vs-2022) in your project's `Assets` folder. For more information on creating a response file, refer to [Creating a response file](/engine/6000.0/manual/scripting/environment-and-tools/overview-of-dot-net-in-unity/dotnet-profile-assemblies.md#create-response-file). **Note**: Defining the same arguments in both the **Additional Compiler Arguments** list and a response file can cause errors and unintended behavior. |
| **Suppress Common Warnings**      | Indicates whether to display the C# warnings [CS0169](https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0169) and [CS0649](https://docs.microsoft.com/en-us/dotnet/csharp/misc/CS0649).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Allow 'unsafe' Code**           | Activate support for compiling [‘unsafe’ C# code](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/unsafe) in a pre-defined assembly (for example, `Assembly-CSharp.dll`).For Assembly Definition Files (`.asmdef`), click on one of your `.asmdef` files and activate the option in the Inspector window that appears.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Use Deterministic Compilation** | Indicates whether to prevent compilation with the `-deterministic` C# flag. With this setting active, compiled assemblies are byte-for-byte the same each time they're compiled.For more information, refer to Microsoft’s [deterministic compiler option](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### Optimization

| **Property**                              | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Enable Dedicated Server optimizations** | Enable this option to perform additional optimizations on the Dedicated Server build. For more information on these optimizations, refer to [Dedicated Server optimizations](/engine/6000.0/manual/platform-specific/dedicated-server/get-started/optimizations.md#Addnl-optimizations) documentation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Managed Stripping Level**               | Choose how aggressively Unity strips unused managed (C#) code. When Unity builds your app, the Unity Linker process can strip unused code from the managed DLLs your Project uses. Stripping code can make the resulting executable smaller, but can sometimes remove code that's in use.For more information about these options and bytecode stripping with IL2CPP, refer to [ManagedStrippingLevel](/engine/6000.0/script-reference/unityeditor/managedstrippinglevel.md.md).* **Minimal**: Use this to strip class libraries, UnityEngine, Windows Runtime assemblies, and copy all other assemblies.* **Low**: Remove unreachable managed code to reduce build size and Mono/IL2CPP build times.* **Medium**: Run UnityLinker to reduce code size beyond what **Low** can achieve. You might need to support a custom link.xml file, and some reflection code paths might not behave the same.- **High**: UnityLinker will strip as much code as possible. This will further reduce code size beyond what Medium can achieve but managed code debugging of some methods might no longer work. You might need to support a custom link.xml file, and some reflection code paths might not behave the same. |

### Stack Trace

Select your preferred logging type by enabling the option that corresponds to each Log Type.

| **Property**   | **Description**                 |
| -------------- | ------------------------------- |
| **None**       | No logs are ever recorded.      |
| **ScriptOnly** | Logs only when running scripts. |
| **Full**       | Logs all the time.              |

Refer to [stack trace logging](/engine/6000.0/manual/scripting/debugging-and-diagnostics/stack-trace.md) for more information.

### Legacy

Activate the **Clamp BlendShapes (Deprecated)** option to clamp the range of blend shape weights in [SkinnedMeshRenderers](/engine/6000.0/manual/assets-and-media/asset-types/mesh/components-reference/class-skinned-mesh-renderer.md).

### Capture Logs

Activate the **Capture Startup Logs** option to capture the startup logs for later processing (for example by a third-party logging library).

## Additional resources

* [Build your application for Dedicated Server](/engine/6000.0/manual/platform-specific/dedicated-server/build.md)
* [Dedicated Server AssetBundles](/engine/6000.0/manual/platform-specific/dedicated-server/assetbundles.md)
