コードインスペクション:Burst:この変数は System.文字列 に解決されるため、Burst でコンパイルされたコールスタックで無効なマネージドメソッド呼び出しが発生する可能性があります。
このインスペクションは、 バーストコンパイラー(英語)によってコンパイルされたコード内で System.String に解決されるローカルの var 宣言を報告します。
Burst は、ローカル変数内の通常のマネージド文字列を安全にサポートしていません。 このインスペクションは、 [BurstCompile] メソッドまたはジョブ内で型推論によってローカル変数が string に変換されたときに発生します。
サンプル
この例では、 var text の宣言が string として推論されます。 クイックフィックスは、宣言を自動的に明示的な FixedString... 型に変換します。
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public void Execute()
{
// Reported: Local var inferred as string is not supported in Burst
var text = "Hello";
}
}
using Unity.Burst;
using Unity.Collections;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public void Execute()
{
// After fix: Use Burst-compatible FixedString types
FixedString32Bytes text = "Hello";
}
}
クイックフィックス
このクイックフィックスは、宣言を明示的な FixedString... 型 (たとえば、 FixedString32Bytes、 FixedString64Bytes など) に変換することで、コードの Burst 互換性を維持し、推論された string ローカル変数を回避します。
2026 年 6 月 12 日