コードインスペクション:マネージ型の作成はサポートされていません
このインスペクションは、 バーストコンパイラー(英語)によってコンパイルされたコード内で管理型を作成する new 式を報告します。
Burst は、C# の高性能かつ限定されたサブセットを対象としており、管理対象外の Burst 互換データのみをサポートしています。 object、 List<T> 、例外、その他の参照型などの管理対象オブジェクトを Burst コンパイル済みコード内で作成することは、管理対象のヒープ割り当てとガベージコレクションが必要となるため、サポートされていません。
サンプル
この例では、 new List<int>() 式が Burst コンパイルされたジョブの Execute メソッド内で使用されています。 これはサポートされていないため、警告が表示されます。
using System.Collections.Generic;
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public void Execute()
{
// Reported: Creating managed types is not supported in Burst
var values = new List<int>();
}
}
using Unity.Burst;
using Unity.Collections;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public NativeArray<int> values;
public void Execute()
{
// Use Burst-compatible value types or native containers
var first = values[0];
}
}
クイックフィックス
このインスペクションには専用のクイックフィックス機能がありません。 管理対象の割り当てを削除し、インスタンスフィールド、ジョブデータ、サポートされているネイティブコンテナーなど、Burst 互換のデータに置き換えることで、手動で修正してください。
2026 年 6 月 12 日