ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【UE4・UE5】〈Tips〉C++からGameUserSettingsを継承して独自のオプション項目を簡単に作る方法

目次

 

はじめに

 

UEのセーブのロジックは通常SaveGametoSlotを使うのが一般的ですが、

 

GameUserSettingsを継承することで簡単にオリジナルの設定項目を増やすことができます。

 

注意点としてこの保存方法ではデータの暗号化ができないので、設定などにとどめてゲームの進行管理などはSaveGameノードを使うようにしましょう。

カスタム項目を増やす場合はC++での開発が必要です。

 

個人の備忘録としてまとめています。誤った情報がある場合があります。

コメントにてご指摘のほどお願いいたします。

 

 

UE5.6で解説します。

 

解説

①プロジェクト用のGameUserSettingsの定義

このサンプルでは設定項目にボリューム(Master/SE/BGM)の設定を追加するサンプルです。

 ▼ UCustomGameUserSettings のサンプル

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameUserSettings.h"
#include "CustomGameUserSettings.generated.h"

UCLASS(BlueprintType)
class YOURPROJECT_API UCustomGameUserSettings : public UGameUserSettings
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite,Config)
float MasterVolume = 100.0f;

UPROPERTY(BlueprintReadWrite,Config)
float SeVolume = 100.0f;

UPROPERTY(BlueprintReadWrite,Config)
float BgmVolume = 100.0f;
};

 

BPからでも編集できるようにBlueprintReadWriteを指定しています。

追加が完了したらプロジェクトをビルドします。

 

②エディタでの指定

プロジェクト設定でgameuserと検索して項目に作成したクラスを指定します。

 

③取得と設定

GetGameUserSettingsから値の取得・値の反映ができます。

 

 

最後に

 

以下のサイトを参考にしました。

qiita.com

UE4やUE5向けの記事を書いています。

皆様の応援が投稿のモチベーションになりますので

コメントやX(Twitter)のフォローなどしていただけるとありがたいです。

それではよきゲーム開発を。

投げ銭を投げる