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.
Read time 7 minutesLast updated 18 days ago
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.

Dedicated Server Player settings
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
- Shader Settings
- Shader Variant Loading Settings
- Script Compilation
- Optimization
- Stack Trace
- Legacy
- Capture Logs
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.
|
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 section.
|
Editor Assemblies Compatibility Level | Select which .NET APIs to use in your Editor assemblies.
|
IL2CPP Code Generation | Defines how Unity manages IL2CPP code generation. This option is only available if you use the IL2CPP scripting backend.
|
C++ Compiler Configuration | Choose the C++ compiler configuration used when compiling IL2CPP generated code.
|
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.
|
Use incremental GC | Uses the incremental garbage collector, which spreads garbage collection over several frames to reduce garbage collection-related spikes in frame duration. For more information, refer to Automatic Memory Management. |
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.
|
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:
- Install ILSpy for Windows.
- 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/ - Drag in your third-party assembly.
- Right-click your third-party assembly and select Analyze.
- 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.
|
Strict shader variant matching | Enable this option to use the error shader for rendering if a shader variant is missing in the Player build and display an error in the console. The error specifies the shader, subshader index, pass, and keywords used for shader variant search |
Keep Loaded Shaders Alive | Keep all loaded shaders alive and prevent unloading. |
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 |
| Default chunk count | Sets the default limit on how many decompressed chunks Unity keeps in memory on all platforms. The default is |
| 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. |
| 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 You can also supply additional command-line arguments to the C# compiler with a |
| Suppress Common Warnings | Indicates whether to display the C# warnings CS0169 and CS0649. |
| Allow 'unsafe' Code | Activate support for compiling ‘unsafe’ C# code in a pre-defined assembly (for example, For Assembly Definition Files ( |
| Use Deterministic Compilation | Indicates whether to prevent compilation with the For more information, refer to Microsoft’s 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 documentation. |
Prebake Collision Meshes | Adds collision data to Meshes at build time. |
Preloaded Assets | Sets an array of Assets for the player to load on startup. To add new Assets, increase the value of the Size property and then set a reference to the Asset to load in the new Element box that appears. |
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.
|
Vertex Compression | Sets vertex compression per channel. This affects all the meshes in your project. Typically, Vertex Compression is used to reduce the size of mesh data in memory, reduce file size, and improve GPU performance. For more information on how to configure vertex compression and limitations of this setting, refer to Compressing mesh data. |
Optimize Mesh Data | Enable this option to strip unused vertex attributes from the mesh used in a build. This option reduces the amount of data in the mesh, which can help reduce build size, loading times, and runtime memory usage. Warning: If you have this setting enabled, don't change material or shader settings at runtime. For more information, refer to PlayerSettings.stripUnusedMeshComponents. |
Texture Mipmap Stripping | Enables mipmap stripping for all platforms. It strips unused mipmap levels from Textures at build time. Unity determines unused mipmap levels by comparing the mipmap level against the quality settings for the current platform. If a mipmap level is excluded from every quality setting for the current platform, then Unity strips those mipmap levels from the build at build time. If |
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 for more information.
Legacy
Activate the Clamp BlendShapes (Deprecated) option to clamp the range of blend shape weights in SkinnedMeshRenderers.
Capture Logs
Activate the Capture Startup Logs option to capture the startup logs for later processing (for example by a third-party logging library).