You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中如何在编辑模式创建文件并在构建版本中访问其路径?

Unity 编辑/构建版本通用文件访问方案

先明确:Resources文件夹行不通

Resources是只读目录,只能存放打包前就准备好的静态资源,完全没法在运行时(不管是编辑模式还是构建版本)创建或修改文件,直接排除这个选项。

可行的解决办法

1. 自定义统一共享目录(最推荐)

手动指定一个双方都能访问的路径,比如项目根目录下的CustomData文件夹:

  • 编辑模式下:用Application.dataPath + "/../CustomData",直接指向项目根目录的自定义文件夹
  • 构建版本下:Windows构建版的Application.dataPath是游戏目录/游戏名_Data,用Path.Combine(Application.dataPath, "../CustomData")就能定位到游戏根目录的同名字段,和编辑模式的路径对应

代码示例:

public static string GetSharedDataPath()
{
    string path;
    #if UNITY_EDITOR
        path = Path.Combine(Application.dataPath, "../CustomData");
    #else
        path = Path.Combine(Application.dataPath, "../CustomData");
    #endif
    // 自动创建目录避免报错
    if (!Directory.Exists(path))
    {
        Directory.CreateDirectory(path);
    }
    return path;
}

注意:发布构建版时,要把编辑模式下CustomData里的文件复制到游戏根目录的对应文件夹,或者让程序启动时自动同步。

2. 小数据用PlayerPrefs直接存

如果你的数据是简单键值对(比如玩家设置、基础状态),直接用PlayerPrefs就行——Unity会自动处理不同模式下的存储路径问题,不用你手动管理路径,省心省力。

3. 同步两个persistentDataPath的文件

写个编辑器工具,在构建前自动把编辑模式persistentDataPath下的文件复制到构建版的对应路径;或者在游戏启动时,让程序自动从编辑版路径同步文件(注意要确保构建版有权限访问编辑版的路径)。

内容的提问来源于stack exchange,提问作者Kyzlyk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:57:33