PickerとMassivePickerの違いは?

項目

Picker

MassivePicker

パフォーマンス(負荷)

アイテムの個数が少なければ良好です.
アイテムが多くなると(数十個を超えると)パフォーマンスが低下します.

アイテムの個数によらずパフォーマンスは一定です.

アイテムの扱い

1つのアイテムが1つのGameObjectと同期しています.

インデックスにより管理されます.GameObjectはリサイクルされます.

アイテムの内容

アイテムのGameObjectに自由にセットできます.

MassivePickerItemを継承したクラスのSetItemContents()によりセットされます.

アイテムのサイズ

任意. アイテムのUnityEngine.RectTransformコンポーネントによりセットされる.

固定サイズ. MassivePickerScrollRect.itemSize プロパティによりセットされる.

どちらを使うべきか?

下記の条件に当てはまるならMassivePickerをお勧めします.

  • アイテムのサイズが固定で問題ない

  • アイテムの個数が多い(30~50個以上)

  • スクリプトからアイテムの内容をセットできる.
    これはアイテムの内容が簡単(例:Textコンポーネントが1つ)であるか
    あるいはスクリプトの記述に工数を使うことで実現できます.

下記の条件に当てはまるならPickerをお勧めします.

  • アイテムのサイズや内容が複雑. あるいはアイテム毎に手動で設定したい.

  • アイテムの個数が少ない