RuntimeInitializeOnLoadはジェネリックなクラスでは呼ばれない

ドキュメントに書いてないので注意
Unity - Scripting API: RuntimeInitializeOnLoadMethodAttribute

// 通常クラス
public class Hoge {
  [RuntimeInitializeOnLoadMethod]
  static void OnRuntimeInitialize() {
    _count = 100;
  }

  public void ShowCount() {
    Debug.Log(_count); // 100
  }

  private static int _count = 0;
}

// ジェネリック
public class Hoge<T> {
  [RuntimeInitializeOnLoadMethod]
  static void OnRuntimeInitialize() {
    _count = 100; // ここには一度も到達しない
  }

  public void ShowCount() {
    Debug.Log(_count); // 0
  }

  private static int _count = 0;
}

静的ジェネリックでも同様.とにかくジェネリックはすべて呼ばれない.

2022/4/20 追記

RuntimeInitializeOnLoadに限らず,CustomPropertyDrawersはすべてジェネリックをサポートしていない.
Addressablesのドキュメント見てて気づいた.

Class AssetReferenceT<TObject> | Addressables | 1.19.19