コードインスペクション:DOTS:指定された型は構造体型でなければなりません
Unity DOTS (データ指向テクノロジースタック) は、Burst コンパイラーと ECS (エンティティコンポーネントシステム) アーキテクチャによって提供される特定のメモリレイアウトとパフォーマンス最適化に大きく依存しています。 これらの最適化を機能させるには、特定の ECS コンポーネントとシステムを値型 (struct) として実装する必要があります。
検出ロジック
インスペクションは、以下のインターフェースを実装するクラスを対象としています。
Unity.Entities.IAspectUnity.Entities.IJobEntityUnity.Entities.ISystem
これらのインターフェースのいずれかが、 struct (値型)ではなく class (参照型)で実装されている場合、インスペクションは警告を発します。 参照型は、DOTS で使用される高性能メモリ管理および並列処理モデルと互換性がありません。
サンプル
public class MySystem : ISystem
{
public void OnCreate(ref SystemState state) { }
public void OnUpdate(ref SystemState state) { }
public void OnDestroy(ref SystemState state) { }
}
public struct MySystem : ISystem
{
public void OnCreate(ref SystemState state) { }
public void OnUpdate(ref SystemState state) { }
public void OnDestroy(ref SystemState state) { }
}
2026 年 6 月 12 日