Dedicated Server build target performs optimizations for networked applications. The build target applies some optimizations automatically by default, while others are optional because their impact depends on the game’s implementation.
By default, the Dedicated Server build target performs the following optimizations:
The Dedicated Server build target deactivates the Audio Subsystem because builds don’t need audio support when running as a dedicated server. Disabling the Audio Subsystem reduces CPU load.
The Dedicated Server build target removes process threads related to lighting because there’s no need to render lighting on a server build.
The Dedicated Server build target disables the following PlayerLoop callbacks because they aren’t necessary for a server build.
SendMouseEvents
UpdateAllRenderers
PlayerUpdateCanvases
UpdateAudio
UIElementsUpdatePanels
UpdateInputManager
The Dedicated Server build target removes GPU-only assets such as texture pixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
See in Glossary data for textures and meshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info
See in Glossary vertex data, that the server doesn’t need. The build target preserves assets with CPU Read/Write access and assets in the Resource Folders.
Textures and meshes imported with CPU Read/Write access disabled are only accessible by the GPU, whereas the CPU can’t access them. Because the Dedicated Server build target doesn’t initialize a graphics device, there’s no need to include this data. Excluding this data reduces the memory usage of the executable.
Refer to the following lists to learn more about which assets the Dedicated Server build target removes and preserves.
Removed:
Preserved:
Note: To learn more about CPU Read/Write access, refer to Texture.isReadable and Mesh.isReadable.
You also have an option to apply additional optimizations through Enable Dedicated Server Optimizations property in the Player SettingsSettings that let you set various player-specific options for the final game built by Unity. More info
See in Glossary window. These optimizations remove assets such as ShadersA program that runs on the GPU. More info
See in Glossary and Fonts. However, applying these optimizations may cause issues if the removed assets are referenced in the game’s implementation.
Assets removed:
In addition to the automatic optimizations applied through the Dedicated Server build target, you can apply the following implementation-specific optimizations manually.