# Conditional compilation

> Use and define preprocessor directives to selectively include or exclude sections of your code for compilation.

This section covers the use of preprocessor directives and scripting symbols to conditionally compile sections of your C# code.

| **Topic**                                                                                                                                                                    | **Description**                                                                                  |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| [Conditional compilation in Unity](/engine/6000.7/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/platform-dependent-compilation.md) | An overview of how and when to use conditional compilation in your Unity scripts.                |
| [Unity scripting symbol reference](/engine/6000.7/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/symbol-reference.md)               | A reference of the predefined scripting symbols Unity provides.                                  |
| [Custom scripting symbols](/engine/6000.7/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/custom-scripting-symbols.md)               | Create your own custom scripting symbols via the Editor UI, from scripts, or with an asset file. |
| [Test conditional compilation](/engine/6000.7/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/test.md)                               | Code example and steps to test your conditionally compiled code.                                 |

## Additional resources

* [C# compiler](/engine/6000.7/manual/scripting/environment-and-tools/overview-of-dot-net-in-unity/csharp-compiler.md)
* [Conditionally including assemblies](/engine/6000.7/manual/scripting/compilation-and-code-reload/script-compilation/assembly-definition-files/includes.md)
