ゲームの保存とロード機能の設定は、ゲームの複雑さによって異なります。 Unreal Engine は、保存とロードを処理するためにシリアル化をサポートしています。 Unreal Engine には、ブループリントまたは C++ で派生可能な SaveGame オブジェクト クラスがあり、単純な変数の保存に使用できます。 ゲームでより複雑な保存とロードの動作が必要な場合は、「シリアル化のベスト プラクティスとテクニック」に関するこちらの講演をご覧ください。 設定可能な設定を記述する場合は、UGameUserSettings ユーティリティ クラスを使用してください。
Parrot の UParrotGameUserSettings は UGameUserSettings から派生しています。 これは、プレイヤーが設定可能な、Parrot に必要な設定を保存およびロードします。
オーディオ設定の例
Parrot では、プレイヤーがオーディオ設定を行うことができます。 Parrot は以下の浮動小数値を保存します。
メイン ボリューム
音楽ボリューム
SFX ボリューム
プロジェクトで正しいゲーム ユーザー設定クラスが使用されていることを確認してください。 これは、[Edit (編集)] > [Project Settings (プロジェクト設定)] > [Engine (エンジン)] - [General Settings (一般設定)] で、[Game User Settings Class (ゲーム ユーザー設定クラス)] フィールドを、ParrotGameUserSettings を指すように変更することで、設定できます。
次に、ユーザー設定を UParrotGameSettings タイプにキャストし、保存関数を呼び出します。 これは UParrotAudioSubsystem で確認でき、「Parrot のオーディオ エンジン実装」で説明されています。
UGameUserSettings 派生クラスを使用するもう 1 つの便利な点は、デシリアライズが問題にならないことです。 ユーザー設定はゲーム起動時に読み込まれ、自動的に適用されます。