Method group is Obsolete

EditorApplication.OpenScene

Obsolete Use EditorSceneManager.OpenScene.

Declaration

public static bool OpenScene(string path);

Description

Opens the Scene at path.

The Scene that is currently open will not be saved, use SaveSceneIfUserWantsTo for that. All paths are relative to the project folder. Like: "Assets/MyScenes/MyScene.unity".

using UnityEngine;
using UnityEditor;

public class Example : MonoBehaviour { [MenuItem("Example/Save Scene while on play mode")] static void EditorPlaying() { if (EditorApplication.isPlaying) { string sceneName = EditorApplication.currentScene; string[] path = sceneName.Split(char.Parse("/")); path[path.Length - 1] = "Temp_" + path[path.Length - 1]; var tempScene = string.Join("/", path);

EditorApplication.SaveScene(tempScene);

EditorApplication.isPaused = false; EditorApplication.isPlaying = false;

FileUtil.DeleteFileOrDirectory(EditorApplication.currentScene); FileUtil.MoveFileOrDirectory(tempScene, sceneName); FileUtil.DeleteFileOrDirectory(tempScene);

EditorApplication.OpenScene(sceneName); } } }

Did you find this page useful? Please give it a rating: