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

Unity中Scriptable Object编辑器可用但iOS构建后失效问题咨询

Unity打包iOS后Scriptable Object无法通过Resources.FindObjectsOfTypeAll获取的原因分析

可能的原因:

  • 资源未被打包进构建:Unity打包时只会包含Resources目录下的资源,或被场景/代码直接引用的资源。编辑器中Resources.FindObjectsOfTypeAll能扫描到所有加载的资源(包括未被引用的),但打包后未被引用且不在Resources里的skinsbgcreator实例会被裁剪,导致返回空数组。
  • 类型识别异常:iOS打包默认开启代码优化/裁剪,可能篡改了skinsbgcreator的类型元数据,使FindObjectsOfTypeAll无法匹配到对应类型。
  • 资源未加载到内存:打包后的运行时,FindObjectsOfTypeAll仅返回已加载到内存的实例。如果你的skinsbgcreator实例没有被主动加载(比如通过Resources.Load),打包后不会自动加载到内存,自然无法被扫描到。
  • 资源管理方式冲突:如果使用了Addressables等第三方资源系统,编辑器里FindObjectsOfTypeAll能扫到资源,但打包后未通过对应系统加载,资源不会进入内存。

解决建议:

  • 检查skinsbgcreator实例是否放在Resources目录下,或确保它们被场景/脚本直接引用(比如在脚本中声明public skinsbgcreator[] skins;并在Inspector赋值)。
  • 改用Resources.LoadAll<skinsbgcreator>("资源所在子路径")替代FindObjectsOfTypeAll,主动加载指定目录下的所有对应类型资源。
  • 临时关闭iOS打包的代码优化(在PlayerSettings -> Other Settings -> Optimization中取消勾选Strip Engine Code或Enable Code Optimization),排查是否是类型裁剪导致的问题。
  • 若使用Addressables等资源系统,改用对应系统的API加载资源(如Addressables.LoadAssetsAsync<skinsbgcreator>())。

内容的提问来源于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 22:07:08