# Building and publishing

> Understand the different ways of building your application during development, and for release.

When you create a build of your application, you create a Player. A Player is the platform-specific runtime application that Unity builds from your project. You can control how Unity creates a build through Unity's build and player settings.

| **Topic**                                                                                                             | **Description**                                                                                                                |
| --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **[Introduction to building](/engine/6000.3/manual/building-and-publishing/building-introduction.md)**                | Understand the fundamentals of Unity's build process, including build modes, incremental building, and platform compatibility. |
| **[Content output of a build](/engine/6000.3/manual/building-and-publishing/build-content-output.md)**                | Information about the files that Unity creates when you make a build of your project.                                          |
| **[Create a build from the Editor](/engine/6000.3/manual/building-and-publishing/build-settings.md)**                 | Use build profiles to build your application for different platforms with unique build configurations.                         |
| **[Create a clean build](/engine/6000.3/manual/building-and-publishing/build-clean-build.md)**                        | Rebuild all content from scratch without using cached results to resolve build cache issues.                                   |
| **[Create a scripts-only build](/engine/6000.3/manual/building-and-publishing/build-scripts-only.md)**                | Build only the scripting assemblies without processing scenes and assets for faster iteration during development.              |
| **[Customize the build pipeline](/engine/6000.3/manual/building-and-publishing/build-customize-build-pipeline.md)**   | Create custom scripts and use callbacks to customize the build pipeline and run it from the command line.                      |
| **[Include additional files in a build](/engine/6000.3/manual/building-and-publishing/streaming-assets.md)**          | Use the StreamingAssets folder to include additional files in a build.                                                         |
| **[Reducing the file size of a build](/engine/6000.3/manual/building-and-publishing/reducing-filesize.md)**           | Tips to reduce the size of the build.                                                                                          |
| **[Deterministic builds](/engine/6000.3/manual/building-and-publishing/build-deterministic-builds.md)**               | Create consistent, reproducible builds by controlling factors that can cause build variations.                                 |
| **[Build cache location reference](/engine/6000.3/manual/building-and-publishing/build-cache-location-reference.md)** | Reference for where Unity stores build cache files on different operating systems.                                             |

## Additional resources

* [`BuildPipeline` API reference](/engine/6000.3/script-reference/unityeditor/buildpipeline.md)
* [`BuildReport` API reference](/engine/6000.3/script-reference/unityeditor/build/reporting/buildreport.md)
* [Player settings](/engine/6000.3/manual/unity-editor/editor-settings-reference/comp-manager-group/class-player-settings.md)
* [Platform-specific Player settings](/engine/6000.3/manual/platform-specific.md)
* [Command line arguments](/engine/6000.3/manual/unity-editor/command-line-arguments.md)
* [Managing assets at runtime](/engine/6000.3/manual/assets-and-media/assets-managing-runtime.md)
* [Unity Build Automation](https://unity.com/solutions/ci-cd)
