# Script compilation

> How and in what order Unity compiles your scripts and how you can organize your scripts into assemblies.

This section contains information on how Unity compiles your scripts and in what order.

| **Topic**                                                                                                                             | **Description**                                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **[Burst compilation](/engine/6000.0/manual/programming-environment/script-compilation/burst.md)**                                    | Use Burst to compile compatible sections of your C# code into highly-optimized native CPU code.                                                      |
| **[Conditional compilation](/engine/6000.0/manual/programming-environment/script-compilation/conditional-compilation.md)**            | Use and define preprocessor directives to selectively include or exclude sections of your code for compilation.                                      |
| **[Organize scripts into assemblies](/engine/6000.0/manual/programming-environment/script-compilation/assembly-definition-files.md)** | Information about assembly definitions, which you can use to organize the scripts in your project.                                                   |
| **[Managed code stripping](/engine/6000.0/manual/programming-environment/script-compilation/managed-code-stripping.md)**              | Understand and configure managed code stripping, which removes unused code from a build and helps decrease the final build size of your application. |
| **[Code analysis and source generation](/engine/6000.0/manual/programming-environment/script-compilation/roslyn-analyzers.md)**       | Use analyzers to inspect your code for style, quality, and other issues.                                                                             |
| **[Fix compilation errors in Safe Mode](/engine/6000.0/manual/programming-environment/script-compilation/safe-mode.md)**              | Understand Unity's Safe Mode, a mode that the Unity Editor enters if there are compilation errors in your project.                                   |

## Additional resources

* [C# compiler and language version reference](/engine/6000.0/manual/programming-environment/overview-of-dot-net-in-unity/csharp-compiler.md)
* [Scripting back ends](/engine/6000.0/manual/programming-environment/scripting-backends.md)
* [Code reload and serialization](/engine/6000.0/manual/programming-environment/code-reload-serialization.md)
