我创建了一个全新的测试场景,它只包含一个预制件,其中包含一个包含 3 个可编写脚本对象的列表变量(位于我的项目资源文件夹中)和一个包含我的流程的脚本图,该流程将列表的计数记录到调试日志中,并打印列表中第一个可编写脚本对象的描述。
当我在 Unity 编辑器中测试时一切正常,但是当我为 iOS 构建并在手机上运行它时,可编写脚本的对象数据永远不会被加载(在这种情况下,是描述。)你可以在移动控制台中看到有一个缺少 arg 的错误是连接描述的地方。
这是我的脚本中定义 SO 的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "New Item", menuName = "Item")]
public class Item : ScriptableObject
{
public string itemname;
public string description;
public Sprite icon;
public bool consumable;
public Targets target;
public int range;
public StatTypes stat1;
public int stat1Value;
}
该脚本位于我的 Assets/Scripts/ScriptableObjects 文件夹中。
统一截图
这是我的脚本图:
这是 iOS 上的控制台日志:
我正在使用 Unity 版本 2021.1.15f1 我的可编写脚本的对象位于 Assets/Resources/Items 文件夹中类型。
在 Unity 编辑器中一切正常。