概要
ScriptableObject は設定やデータ管理に利用できるため、シングルトンで取り扱いたい場面もあるかと思います。
そこで今回は、私がよく使うシングルトン?な ScriptableObject の実装を紹介します。
コード
SingletonScriptableObject.cs
using UnityEngine;
[CreateAssetMenu(fileName = nameof(SingletonScriptableObject), menuName = "ScriptableObjects/Create " + nameof(SingletonScriptableObject))]
public class SingletonScriptableObject : ScriptableObject
{
private static SingletonScriptableObject instance = null;
public static SingletonScriptableObject Instance => instance ??= Resources.Load<SingletonScriptableObject>(nameof(SingletonScriptableObject));
}
補足
ScriptableObject は Resources 直下に生成してください。
nameof() で名前の変更に対応しやすくしています。