【解决】“Method“ should not be used to create a file within StreamingAssets folder. Path=“XXX/XXX/XX“...

开发平台:Unity
编程平台:Visual Studio 2020以上
使用语言:C#

问题描述

原译CreateAsset() should not be used to create a file within StreamingAssets folder. Path=‘Assets/StreamingAssets/ScriptableObject 1.asset’. This error will in a future release be changed to an exception.
现译不应使用 CreateAsset() 在 StreamingAssets 文件夹中创建文件。Path=‘Assets/StreamingAssets/ScriptableObject.asset’。此错误将在将来的版本中更改为异常

注意:这是一个对于 Unity 资产结构认知不足所导致的问题。

相关问题的补充说明


Unity 为方便开发者管理工程资产信息,提供了 Assets 与 Package 两种目录的视图供开发者使用。其中 :

  • Assets 主要集中管理 外部非标准化资产(自建资产、商店资产)的内容。
    在这些资产被导入至编辑器中时,会转换成转服务于 Unity 引擎的特定资产,其特定信息存储至同路径下 .meta 文件中以供 Unity 访问。
  • Package 主要处理由 Unity 承认的官方工具包、第三方工具包资产信息。
    例如 Package Manager 中的 Cinimachine、AR Foundation。当然,现版本下同时支持 Git URL 下载 Git 资源。通常这类资源被定义于提升开发效率的编辑扩展框架。

  但考虑到实际开发过程中需求,Unity 提供了 Plugins、StreamingAssets 等特殊目录结果的文件夹。这些文件夹被允许出现在 Unity Project 视窗中,但仅局限于存放非 Unity 官方承认的自建资产信息。例如 ScriptableObject 这类自建资产。所以解决方法也随之明了。
 ’

解决方案


方案一:使用 Unity 承认的目录路径

  • 在 Assets 目录下新建非特定目录的文件夹用以存放 ScriptableObject 资产。

方案二:使用 EXCEL\TXT\JSON\XML等数据文件替代SO资产(针对于PC用户的解决方法)

  • 部分情况的开发,我们仅期望外部修改配置文件以达到实际需求时,应考虑使用 EXCEL 等第三方数据存储作为首选目标。
    注意:若 SO 存储数据包含场景内预制体信息,则应适当考虑将 预制体相对路径信息写入配置表,以供调用。或考虑热更新实现该模块的数据更新。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值