---
title: Burstコンパイル
product: Unity Editor
version: '6000.0'
latest_version: '7000.0'
status: This page documents version 6000.0. The latest version is 7000.0.
canonical: https://docs.unity.com/ja-jp/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/burst
latest_url: https://docs.unity.com/ja-jp/engine/7000.0/manual/scripting/compilation-and-code-reload/script-compilation/burst.md
generated_at: 2026-11-14T04:42:34.332Z
locale: ja-jp
---

# Burstコンパイル

> UnityのBurstコンパイラーを使用して、主にジョブ システムで動作するように設計されたHigh Performance C#と呼ばれるC#のサブセットでコードをコンパイルします。

Burstは、UnityコンテキストでHPC(High-Performance C#)と呼ばれるC#のサブセットで機能するコンパイラーです。Burstは[LLVMを](https://llvm.org/)使用して、.NET [Intermediate Language(IL)](https://learn.microsoft.com/en-us/dotnet/standard/managed-code)をターゲットCPUアーキテクチャのパフォーマンスに最適化されたコードに変換します。

Burst はもともと Unity のジョブ システムで使用するように設計されました。ジョブは、[`IJob`](ScriptRef:UnityJobs.IJob) インターフェースを実装する構造体で、使用可能なすべての CPU コアを最大限に活用するために並列実行できる作業の小規模な単位を表します。Burst コンパイルジョブに作業を分割するようにプロジェクトを設計またはリファクタリングすると、CPU 依存コードのパフォーマンスを大幅に向上させることができます。詳細については、「 ジョブシステムでの[マルチスレッドコードの記述](/engine/6000.0/manual/scripting/optimization/job-system.md) 」を参照してください。

Burst は、ジョブとは別に、静的メソッドもコンパイルできます。ただし、その中のコードがサポートされている C# のサブセットに属している必要があります。ハイパフォーマンスC#に含まれるものの詳細については、[HPC#概要](https://docs.unity3d.com/Packages/com.unity.burst@latest/index.html?subfolder=/manual/csharp-hpc-overview.html)を参照してください。

Burstは、UnityのECS([エンティティ コンポーネント システム)テクノロジー](https://docs.unity3d.com/Packages/com.unity.entities@latest/index.html?subfolder=/manual/ecs-packages.html)の中核をなすものです。これには、連携してハイ パフォーマンス コードを生成する一連の相互依存パッケージが含まれています。ただし、BurstはECSとは別に使用でき、サポートされているC#機能を使用するすべてのUnityプロジェクトに統合できます。

Burst の詳細については、[Burst コンパイラーパッケージドキュメント](https://docs.unity3d.com/Packages/com.unity.burst@latest)を参照してください。

## コンパイルパイプラインにおける Burst の役割##burst's-role-in-the-compilation-pipeline

Burst は C# のサブセットのみをサポートするため、完全[なスクリプティングバックエンド](/engine/6000.0/manual/scripting-backend.md)ではありません。プロジェクト内の [Mono](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/backends/mono.md) または [IL2CPP](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/backends/il2cpp.md) を置き換えることはできませんが、いずれかを補完するものです。

Burst パッケージをプロジェクトに含めると、スクリプトバックエンドはデフォルトでコードをコンパイルし、Burst コンパイル用にマークされた Burst 互換性のある部分を [Burst コンパイルし](https://docs.unity3d.com/Packages/com.unity.burst@latest/index.html?subfolder=/manual/compilation-burstcompile.html)ます。

C# スクリプトは通常通り中間言語 (IL) にコンパイルします。Burst がマークされたメソッドの場合、その IL はさらに Burst によってネイティブコードにコンパイルされます。Burst は Unity エディターの再生モードで JIT (Just-in-Time) をコンパイルしますが、プレイヤービルドでは AOT (Ahead-of-Time) をコンパイルします。

Burst がサポートする C# のサブセットはマネージオブジェクトをサポートしません。Unityには、一般的な型とデータ構造のBurst互換性のあるバージョンを提供するように設計されたパッケージがあります。[Collections](https://docs.unity3d.com/Packages/com.unity.collections@latest)パッケージは配列やリストなどのBurst互換性のあるCollectionsを提供し、[Unity Mathematics](https://docs.unity3d.com/Packages/com.unity.mathematics@latest)はBurst互換性のあるMathematics機能を提供します。

## Burst を使用したコンパイル##compiling-with-burst

以下の条件が満たされると、コードは Burst コンパイルされます。

* コードは [Burst 互換性](https://docs.unity3d.com/Packages/com.unity.burst@latest/index.html?subfolder=/manual/csharp-hpc-overview.html)のあるコードです。
* Burst コンパイルは、プレイヤービルドの場合は [Burst AOT Settings](https://docs.unity3d.com/Packages/com.unity.burst@latest/index.html?subfolder=/manual/building-aot-settings.html) から、Unity エディターコードの場合は [Burst メニュー](https://docs.unity3d.com/Packages/com.unity.burst@latest/index.html?subfolder=/manual/editor-burst-menu.html)から有効にします。
* コードが [`[BurstCompile]`](https://docs.unity3d.com/Packages/com.unity.burst@latest/index.html?subfolder=/manual/compilation-burstcompile.html) 属性で明示的にマークされているか、コードから参照されている。

[スクリプトシンボル](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/platform-dependent-compilation.md)`ENABLE_BURST_AOT`を使用して、Burst AOT コンパイル設定が有効な場合にのみコードのセクションを条件付きでコンパイルできます。

詳細は、「 [Burst compilation 」](https://docs.unity3d.com/Packages/com.unity.burst@latest/index.html?subfolder=/manual/compilation.html)を参照してください。

## 追加リソース##additional-resources

* [Burst コンパイラーパッケージドキュメント](https://docs.unity3d.com/Packages/com.unity.burst@latest)
* [ジョブシステム](/engine/6000.0/manual/scripting/optimization/job-system.md)
