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

Unity中skinsbgcreator Scriptable Object实例无法被检测到

解决Unity中Scriptable Object实例无法被Resources.FindObjectsOfTypeAll找到的问题

核心问题原因

Resources.FindObjectsOfTypeAll 只会返回已加载到内存中的该类型对象,如果你只是把Scriptable Object实例放在Resources文件夹但没有主动加载,它不会被检测到。另外还有几个常见配置问题也会导致该现象。

解决步骤

1. 改用正确的资源加载方法

直接用 Resources.LoadAll 加载Resources文件夹下所有目标类型的Scriptable Object实例,这是针对Resources目录资源的专门加载方式:

// 加载Resources根目录下所有skinsbgcreator实例
skinsbgcreator[] doges = Resources.LoadAll<skinsbgcreator>("");

// 如果实例在Resources的子文件夹(比如"skins")下,路径填子文件夹名
// skinsbgcreator[] doges = Resources.LoadAll<skinsbgcreator>("skins");

Debug.Log(doges.Length);

2. 排查Scriptable Object基础配置问题

  • 确保Scriptable Object脚本的文件名和类名完全一致(包括大小写),比如脚本文件名为skinsbgcreator.cs,类定义必须是:
    [CreateAssetMenu(fileName = "New skinsbgcreator", menuName = "Custom/skinsbgcreator")]
    public class skinsbgcreator : ScriptableObject
    {
        // 自定义字段
    }
    
  • 检查Resources文件夹中的实例:选中实例后,Inspector面板需正常显示脚本字段,不能出现"Missing Script"提示。
  • 刷新Unity资源:右键点击Resources文件夹选择Refresh,或重启编辑器确保资源被正确识别。

3. 明确Resources.FindObjectsOfTypeAll的适用场景

如果一定要使用该方法,需确保目标资源已通过Resources.Load、场景引用等方式加载到内存中,它更适合查找已加载的对象,而非批量加载资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:07:06