Addressables 1.2.4で試しにAssetReferenceをタイプ縛りしようと
多くの記事で紹介されている AssetReferenceTypeRestriction を使ってみたところ無くなっていた。
かなしい。
Addressable AssetはPreviewが外れたばかりなので古い情報やそもそも情報が少ない。

とりあえずチェンジログを調べたら、
それっぽい変更があった。ジェネリックを使って型を強制しろって事らしい。
一体何を言ってるのか(ry
ていうかこれだけの破壊的変更を加えるなら普通は

[SerializeField]
private AssetReference<Sprite> sprite = default;

ってすると思うんだけどそうじゃない。

[SerializeField]
private AssetReferenceT<Sprite> sprite = default;

正解はこう。
まぁAssetReference<void>とかAssetReference<default>
みたいな書き方は出来ないのでしょうがないか。
AssetReferenceは単独の型だけ指定するとは限らないしね
(複数の型を受け取る使い方する人いるんだろうか)
しかしクラス追加するなら、チェンジログに書いててほしいところ・・・。

ちなみに、ジェネリック型はそのままではInspector上に表示されないので
Inspector上から指定したい場合は、

[System.Serializable]
public class AssetReferenceSprite : AssetReferenceT<Sprite>
{
    public AssetReferenceSprite(string guid) : base(guid) { }
}

[SerializeField]
private AssetReferenceSprite model = default;

としないといけない。
というか AssetReference はそのような使い方しかしないので、
事実上このコードが必須になるんだけど・・・きれいとは一体🤨