JetBrains Rider 2026.1 Help

コードインスペクション: DOTS: IAspect フィールドは次のいずれかの型である必要があります: RefRW、RefRO、EnabledRefRW、EnabledRefRO、DynamicBuffer、または Entity

Unity DOTS(データ指向テクノロジースタック)では、 IAspect 宣言はフィールド型に関して特定の ECS パターンに従う必要があります。 このインスペクションは、 Unity.Entities.IAspect を実装する構造体内のフィールドが有効なアクセサー型を使用することを保証します。

なぜこれが問題なのか?

IComponentData を実装する構造体であるフィールドは、 IAspect 内のフィールドとして直接アクセスすることはできません。 ECS データストリームと正しくやり取りするには、 RefRW<T>RefRO<T> などの特定のアクセサー型でラップする必要があります。 コンポーネントフィールドを直接使用すると、Unity の DOTS フレームワークでコンパイルエラーまたは実行時エラーが発生します。

有効なアクセサータイプ

IAspect 構造体では、フィールドは次のいずれかの型でなければなりません。

  • RefRW<T> (読み書き参照)

  • RefRO<T> (読み取り専用参照)

  • EnabledRefRW<T> (有効化可能なコンポーネントの読み書き参照)

  • EnabledRefRO<T> (有効化可能なコンポーネントの読み取り専用リファレンス)

  • DynamicBuffer<T>

  • Entity

修正方法

問題のあるフィールド型を適切なアクセサーでラップします。 JetBrains Rider は、フィールドを有効なアクセサーで自動的にラップするクイックフィックスを提供します。 EnabledRefRef のどちらのアクセサーを使用するかは、コンポーネント型が IEnableableComponent も実装しているかどうかによって異なります。

public readonly SomeComponentData SomeField;
public readonly RefRO<SomeComponentData> SomeField;
2026 年 6 月 12 日