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

Unity编辑器自定义脚本属性未在Inspector面板显示求助

解决Unity自定义组件Inspector属性不显示问题(Debug模式正常)

常见原因及修复步骤

  • 检查字段访问修饰符:要在Inspector显示的字段,要么设为public,要么给私有字段添加[SerializeField]特性。私有字段未加该特性时,Inspector默认不展示,但Debug模式能读取到。
    示例代码:

    // 方式1:public字段直接显示
    public int maxCardCount;
    
    // 方式2:私有字段加序列化特性
    [SerializeField]
    private float pickCoolDown;
    
  • 确认脚本继承自MonoBehaviour:自定义组件必须继承MonoBehaviour才能作为组件挂载,且Inspector才能识别其可序列化字段。若未继承,即便挂载成功也无法显示属性。

  • 排查自定义Editor脚本冲突:如果编写了CustomEditor相关脚本,可能因逻辑错误导致Inspector不渲染属性。可暂时移除自定义Editor脚本,观察属性是否恢复显示,以此排查问题来源。

  • 重新编译并刷新编辑器:

    1. 右键Project窗口,选择Refresh
    2. 点击顶部菜单栏Assets > Reimport All
    3. 关闭并重启Unity,确保Console面板无编译报错
  • 确保序列化类型合法:

    • Unity不支持部分类型的序列化,比如自定义泛型类需添加[Serializable]特性;优先使用List<T>而非非序列化的泛型集合
    • 自定义类需标注[Serializable]才能让其字段在Inspector显示:
      [Serializable]
      public class CardInfo
      {
          public string cardId;
          public Sprite cardImage;
      }
      
  • 验证脚本挂载有效性:移除当前挂载的组件,重新将脚本拖拽到GameObject上,确保挂载的是最新编译的脚本版本,而非旧的未更新副本。

  • 排除项目配置问题:创建全新测试项目,导入该脚本并挂载测试,若属性正常显示,则说明原项目存在配置或资源冲突。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 05:05:54