侧边栏壁纸
  • 累计撰写 23 篇文章
  • 累计创建 8 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Unity 固定启动场景

付心武士
2024-08-04 / 0 评论 / 0 点赞 / 0 阅读 / 1389 字

Unity 固定启动场景

unity播放模式默认从当前打开的场景开始,不能自定义设置开始场景,实际开发中可能有多个场景,每次播放都要找到并打开开始场景会很麻烦,所以需要固定启动场景。

方法一、使用编辑器插件

    [MenuItem("BuildTools/PlayModeUseStartScene", true)]
    static bool ValidatePlayModeUseStartScene()
    {
        Menu.SetChecked("BuildTools/PlayModeUseStartScene", EditorSceneManager.playModeStartScene != null);
        return !EditorApplication.isPlaying;
    }

    [MenuItem("BuildTools/PlayModeUseStartScene")]
    static void UpdatePlayModeUseStartScene()
    {
        if (Menu.GetChecked("BuildTools/PlayModeUseStartScene"))
        {
            EditorSceneManager.playModeStartScene = null;
        }
        else
        {
            SceneAsset scene = AssetDatabase.LoadAssetAtPath<SceneAsset>(EditorBuildSettings.scenes[0].path);
            EditorSceneManager.playModeStartScene = scene;
        }
    }

方法二、RuntimeInitializeOnLoadMethod

public class StartScene : MonoBehaviour
{
    static void Initialize()
    {
        if (EditorBuildSettings.scenes.Length == 0)
        {
            return;
        }

        var startScenePath = EditorBuildSettings.scenes[0].path;
        Scene scene = SceneManager.GetActiveScene();
        if (scene.path == startScenePath)
        {
            return;
        }
        SceneManager.LoadScene(0);
    }
}

脚本不需要挂载,放在项目中就行

0

评论区