💼
Editor Utility Widgetのプリセット情報をリスト化する
Presetをリスト化して保存、読込できるようにする
Preset名でプリセットを保存して、リストからプリセット名を選択して読み込めるようにします。

SaveGameの派生クラスにプリセット名を格納するString配列を追加する
SaveGameの派生クラスである「BP_SaveGamePreset」にプリセット名を格納するString配列の変数を追加します。

| Name | Type |
|---|---|
| NameArray | String(配列) |

Widgetを追加する
Preset名を入力するTextBoxと、Preset名を選択するComboBoxを追加します。

Widgetを図のように追加します。

Preset名を保存できるようにする
Saveボタンの「On Clicked」イベントに処理を追加します。

変数を追加します。
| Name | Type |
|---|---|
| LocalSaveName | BP_SaveGamePreset |
| NameArrayLocal | String(配列) |

プリセット名を保存するSaveGameファイルを作成します。

プリセット名を「SaveNames」という名前で保存します。

「SaveNames」を読み込みます。

「SaveNames」に保存されたプリセット名をComboBoxに追加します。

プリセット名に設定した名前のSaveGameにWidgetの入力値を保存します。

Preset名で読み込めるようにする
Loadボタンの「On Clicked」イベントに処理を追加します。

Preset名のSaveGameがある場合にWidgetの入力値を更新します。

EditorUtilityWidgetを立ち上げた時にPresetのリストを更新する
ウィジェットを立ち上げた時に「SaveNames」のSaveGameが存在すればConboBoxのリストを更新します。

保存と読込を確認する
実装した処理を確認します。

Widgetに入力した値にプリセット名を付けてSaveボタンをクリックします。

リストにプリセット名が追加されているので選択します。

プリセット名を選択した状態で「Load」ボタンをクリックすると入力値がWidgetに設定されます。

保存した情報は「(プロジェクトフォルダ)/Saved/SaveGames」フォルダにSaveNames.savと(Preset).savファイルが保存されます。

サンプルプロジェクト(GitHub)
GitHubにサンプルプロジェクトを置いておきました。
Discussion