contentUnityで寿命はあるけど広くアクセスさせたい変数の置き場を考えるUnityUE4にはGameModeやGameInstanceという便利なクラスがあります。Unityにはない概念かなと思うので、すごく簡単に説明すると・GameInstance:ゲーム全体が寿命のインスタンス・GameMode:シーン寿命のインスタンスで、各々がGetGameInstanceやGetGameModeなどの関数で簡単にアクセスできるものです。厳密にはネットワーク挟んだりするとサーバ側ではインスタンスがサーバ上のみになったりするので厳密にはこれではないのですが、今回の目的とはちょっとそれてしまうので割愛します。良い名前が思いつかなかったのでUE4さんから借りた程度に思ってください。staticなものをあちこちからアクセスしたいって需要は普通にあって、でも初期化と破棄のタイミングを間違えてバグらせてしまうというのは大いにあるとは思うのですが、シーン読み込み時に初期化、シーン破棄時に破棄され、なおかつAdditiveなシーンからGetGameModeをした場合でもCurrentSceneのGameModeが取れたらいいのではないかと思い、軽く作ってみました。簡単なテストで動いてはいるのですが、実際バグマミレだと思うので、私が実環境で使い始めるまではこんな感じで。https://github.com/yKimisaki/UniGameInstanceちなみに2019.3の練習で作ったものなので、SerializeReference使っています。2019.2以前では使えません。}}GameModeのつくり方GameInstanceとだいたい同じです。}}設定の仕方Windowメニューにこんなのを追加しているので開くと、という質素な画面が出てきます。この質素な画面でGameInstanceと、各シーンに紐づくGameModeを設定します。プルダウンを押すとさっき作ったGameInstanceやGameModeが出てくるので、選択して設定は終了です。注意GameModeを設定するには、設定したいシーンを開いてからGameModeSettingWindowを使用してください。寿命と初期化の方法についてGameInstanceとGameModeは、ScriptableObjectに初期値の入ったインスタンスを格納しています。これはDefaultではResources直下にGameModeSettings.assetとして生成されます。GameInstanceは起動時や、任意のタイミングでGameInstance.ResetInstance()を呼ぶことで、1つ前のインスタンスをDisposeし、初期インスタンスをディープコピーしてキャッシュします。GameModeはシーンの読み込み時に初期インスタンスをディープコピーしてキャッシュし、シーンが破棄されるタイミングでDisponseします。シーンA→B→Aと移動した場合、最初のAのGameModeインスタンスと最後のAのGameModeインスタンスは別物になります。ディープコピーされたインスタンスの寿命は完全にシーンの寿命と一致します。ゲーム内でエラーが起こりタイトルに戻った際にGameInstance.ResetInstance()をすることで、エラーの起きている時代のGameInstanceを破棄し、新しいGameInstanceを使用することができます。マスタの再取得などはこのパターンでできるかと思います。upLoginユーザーは見つかりませんでした。