【Unity】シングルトンなScriptableObjectを実装する

はじめに

「○○Settings」のようなものを実装するときに使えるSingletonScriptableObjectの紹介です。

コード


using UnityEngine;

public abstract class SingletonScriptableObject : ScriptableObject where T : SingletonScriptableObject {
		
	static T m_Instance;

	public static T Instance {
		get {
			if (m_Instance == null) {
				m_Instance = Resources.Load(typeof(T).Name);
			}
			return m_Instance;
		}
	}

}

クラス名と同じアセットをResourcesからロードします。


using UnityEngine;

[CreateAssetMenu(fileName = nameof(ExampleSettings))]
public class ExampleSettings : SingletonScriptableObject {

}
記事をシェアしてもらえると嬉しいです!