![](https://www.create-forever.games/wp-content/uploads/2021/06/image-111.png)
UI/Image を追加したので、シーンに * (保存を促すマーク)がついています。
この状態でシーンを再生すると、保存されていない UI/Image は消えてしまいます。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-112.png)
再生前にシーンを保存すればいいのですが、これが地味に面倒です。
というわけで、再生前に自動でシーンを保存してくれるスクリプトを紹介します。
(Unity Editor の機能です)
Editor/OnPlayState.cs
using UnityEditor; using UnityEditor.SceneManagement; public static class OnPlayState { [InitializeOnLoadMethod] static void Initialize() { EditorApplication.playModeStateChanged -= OnChangedPlayMode; EditorApplication.playModeStateChanged += OnChangedPlayMode; } static void OnChangedPlayMode(PlayModeStateChange state) { if (state == PlayModeStateChange.ExitingEditMode) { // 再生前にシーンセーブ EditorSceneManager.SaveOpenScenes(); } } }