# BurstCompileAttribute

> Tags a struct/method/class as being Burst compiled, with the default BurstCompileAttribute.FloatPrecision, BurstCompileAttribute.FloatMode and BurstCompileAttribute.CompileSynchronously.

## Definition

* **Type:** Constructor
* **Namespace:** [Unity.Burst](/engine/6000.7/script-reference/unity/burst.md)
* **Assembly:** UnityEngine.BurstModule

## BurstCompileAttribute()

Tags a struct/method/class as being Burst compiled, with the default [BurstCompileAttribute.FloatPrecision](/engine/6000.7/script-reference/unity/burst/burstcompileattribute/floatprecision.md), [BurstCompileAttribute.FloatMode](/engine/6000.7/script-reference/unity/burst/burstcompileattribute/floatmode.md) and [BurstCompileAttribute.CompileSynchronously](/engine/6000.7/script-reference/unity/burst/burstcompileattribute/compilesynchronously.md).

```csharp
public BurstCompileAttribute()
```

### Examples

```csharp
[BurstCompile]
struct MyMethodsAreCompiledByBurstUsingTheDefaultSettings
{
    //....
}
```

## BurstCompileAttribute(FloatPrecision, FloatMode)

Tags a struct/method/class as being Burst compiled, with the specified [BurstCompileAttribute.FloatPrecision](/engine/6000.7/script-reference/unity/burst/burstcompileattribute/floatprecision.md) and [BurstCompileAttribute.FloatMode](/engine/6000.7/script-reference/unity/burst/burstcompileattribute/floatmode.md).

```csharp
public BurstCompileAttribute(FloatPrecision floatPrecision, FloatMode floatMode)
```

### Parameters

**** (\[FloatPrecision]\(/engine/6000.7/script-reference/unity/burst/floatprecision)): Specify the required floating point precision.**** (\[FloatMode]\(/engine/6000.7/script-reference/unity/burst/floatmode)): Specify the required floating point mode.

### Examples

```csharp
[BurstCompile(FloatPrecision.Low, FloatMode.Fast)]
struct MyMethodsAreCompiledByBurstWithLowPrecisionAndFastFloatingPointMode
{
    //....
}
```
