# SetIl2CppCodeGeneration(NamedBuildTarget, Il2CppCodeGeneration)

> Sets the code generation option for IL2CPP for the specified build target.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.0/script-reference/unityeditor.md)
* **Assembly:** UnityEditor

```csharp
public static void SetIl2CppCodeGeneration(NamedBuildTarget buildTarget, Il2CppCodeGeneration value)
```

### Parameters

**** (\[NamedBuildTarget]\(/engine/6000.0/script-reference/unityeditor/build/namedbuildtarget)): The [NamedBuildTarget](/engine/6000.0/script-reference/unityeditor/build/namedbuildtarget.md).**** (\[Il2CppCodeGeneration]\(/engine/6000.0/script-reference/unityeditor/build/il2cppcodegeneration)): Code generation option.

### Remarks

There are two options for IL2CPP code generation.  [Il2CppCodeGeneration.OptimizeSpeed](/engine/6000.0/script-reference/unityeditor/build/il2cppcodegeneration/optimizespeed.md) generates code that is optimized for runtime performance. This is the default and the behavior in previous versions of Unity. [Il2CppCodeGeneration.OptimizeSize](/engine/6000.0/script-reference/unityeditor/build/il2cppcodegeneration/optimizesize.md) generates code that is optimized for build size and iteration. It generates less code and produces a smaller build but may have an impact on runtime performance, especially for generic code. You should consider this option when faster build times are important, such as when iterating on changes.

Additionally, [Il2CppCodeGeneration.OptimizeSize](/engine/6000.0/script-reference/unityeditor/build/il2cppcodegeneration/optimizesize.md) generates a universal version of each generic type and method. This avoids some restrictions [Il2CppCodeGeneration.OptimizeSpeed](/engine/6000.0/script-reference/unityeditor/build/il2cppcodegeneration/optimizespeed.md) has when executing generic code.
