# Configure Burst compilation


Use Burst's custom C# attributes to define which parts of your code Burst compiles. These attributes and their parameters also allow you to configure a range of compilation options to improve Burst performance in different contexts.

| **Topic**                                                                                                                                                               | **Description**                                                                                                                                                    |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **[Marking code for Burst compilation](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/burst/compilation/burstcompile.md)**              | Use the `[BurstCompile]` attribute to mark code for Burst compilation. Use attribute parameters to customize aspects of Burst compilation and improve performance. |
| **[Excluding code from Burst compilation](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/burst/compilation/burstdiscard.md)**           | Use the `[BurstDiscard]` attribute to selectively exclude portions of code from Burst compilation.                                                                 |
| **[Defining Burst options for an assembly](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/burst/compilation/burstcompile-assembly.md)** | Apply the `[BurstCompile]` attribute at the assembly level to define Burst compilation options for a whole assembly.                                               |
| **[Burst compilation in Play mode](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/burst/compilation/synchronous.md)**                   | Burst provides the option to compile asynchronously or synchronously in Play mode. Understand these options and how and when to configure synchronous compilation. |
| **[Generic jobs](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/burst/compilation/generic-jobs.md)**                                    | Understand important limitations in Burst's support for generic jobs and function pointers.                                                                        |
| **[Float precision and determinism](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/burst/compilation/float-precision-determinism.md)**  | Use the relevant APIs to configure the degree of accuracy and determinism in Burst's floating point number calculations.                                           |
| **[Compilation warnings reference](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/burst/compilation/warnings.md)**                      | Fix common compilation warnings.                                                                                                                                   |

## Additional resources

* [C# language support](/engine/6000.6/manual/scripting/compilation-and-code-reload/script-compilation/burst/csharp-language-support.md)
