今までDontDestroyOnLoadなSingletonオブジェクトをいちいち全シーンに配置してたけど、↓のスクリプトで解決できることを知った。

[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void SceneInitializer()
{
    var singletonGameObjects = Resources.LoadAll<GameObject>("SingletonGameObjects");
    foreach (var obj in singletonGameObjects)
    {
        Object.Instantiate(obj);
    }
}

このスクリプトをどこか(どこでもいい)に書いておけば、シーンのロード前に必ず実行される。

あとは、Resouces/SingletonGameObjects にSingletonのPrefabを入れておけばOK。

これ楽だわぁー!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Name *
Email *
Website

*